Non-volatile memory data write management
US-2020409559-A1 · Dec 31, 2020 · US
US11836095B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11836095-B2 |
| Application number | US-202117305630-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 12, 2021 |
| Priority date | May 27, 2021 |
| Publication date | Dec 5, 2023 |
| Grant date | Dec 5, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for intelligently routing IO to a storage class memory (SCM) namespace are disclosed. A configuration for a namespace is determined, where the configuration indicates a type of IO that the namespace is structured to handle. Details about the configuration of the namespace are stored in a repository. A forwarding rule is generated based on the namespace's stored configuration. When incoming IO having attributes similar to that type is received, implementation of the forwarding rule causes the incoming IO to be directed to the namespace. Attributes of a particular incoming IO are determined. As a result of the attributes satisfying a similarity threshold relative to the type, the forwarding rule is implemented such that the particular incoming IO is directed to the namespace.
Opening claim text (preview).
What is claimed is: 1. A method for forwarding, in real-time, input/output (IO) to storage class memory (SCM) namespaces that are optimized to handle IO having different attributes, the method comprising: determining, by a processor namespace attributes for each SCM namespace included in a set of SCM namespaces; storing, by the processor, namespace attributes for each of the SCM namespaces in a database; in response to receiving network IO from a remote source, determining, by the processor, IO attributes for the network IO; based on the determined IO attributes for the network IO, querying, by the processor, the database to determine which specific SCM namespace in the set of SCM namespaces is a best fit namespace for managing incoming IO having the determined IO attributes, wherein determining which SCM namespace is the best fit to manage incoming IO having the determined IO attributes is based on a comparison between the determined IO attributes and the namespace attributes stored in the database; based on a result of querying the database, selecting, by the processor, a particular SCM namespace from the set of SCM namespaces to manage the network IO, the particular SCM namespace being selected as a result of determining the particular SCM namespace is the best fit namespace for the network IO as compared to other SCM namespaces in the set of SCM namespaces; and redirecting, by the processor, the network IO to the selected particular SCM namespace. 2. The method of claim 1 , wherein the SCM namespaces support memory modes, storage modes, and app-direct modes. 3. The method of claim 1 , wherein the selected particular SCM namespace is selected based on an identified workload pattern associated with a client application that provided the network IO. 4. The method of claim 1 , wherein the incoming IO is in a form of a block. 5. The method of claim 1 , wherein the namespace attributes that are stored in the database include a bandwidth for the SCM namespaces. 6. The method of claim 1 , wherein the method further includes analyzing incoming IO from network traces and estimating future IO behavior using a machine learning algorithm. 7. The method of claim 6 , wherein the machine learning algorithm is a Markov Transition State machine learning algorithm. 8. The method of claim 1 , wherein the namespace attributes that are stored in the database include one or more of: persistent memory input/output operations per second (IOPS) for the SCM namespaces, latency for the SCM namespaces, and bandwidth for the SCM namespaces. 9. The method of claim 1 , wherein determining which specific SCM namespace is optimized for managing incoming IO having the determined IO attributes is further based on client application behavior for a client application that transmitted the network IO. 10. The method of claim 1 , wherein determining the IO attributes for the network IO is performed using a machine learning algorithm. 11. A method for redirecting an incoming network input/output (IO) to a particular storage class memory (SCM) namespace based on a determination that the particular SCM namespace is optimized to handle IO having attributes that are common to attributes of the incoming network IO, said method comprising: receiving, at a processor, first IO from a first client application and second IO from a second client application; determining, by the processor, first attributes associated with the first IO and second attributes associated with the second IO, wherein the first attributes include a pattern of workload behavior for the first client application, and wherein the second attributes include a size of workloads for the second client application; using the first attributes and the second attributes, by the processor, to query a lookup table comprising SCM namespace attributes for a set of SCM namespaces, wherein querying the lookup table includes (i) identifying a first SCM namespace optimized to handle IO having a similar pattern of workload behavior as the pattern of workload behavior associated with the first client application and (ii) identifying a second SCM namespace optimized to handle IO having a similar size of workloads as the size of workloads associated with the second client application; and selecting, by the processor, the first SCM namespace from the set of SCM namespaces to handle the first IO; selecting, by the processor, the second SCM namespace from the set of SCM namespaces to handle the second IO; and directing, by the processor, the first IO to the first SCM namespace and the second IO to the second SCM namespace. 12. The method of claim 11 , wherein determining the first attributes associated with the first IO is performed using a machine learning algorithm. 13. The method of claim 12 , wherein the machine learning algorithm is a Markov transition state machine learning algorithm. 14. The method of claim 11 , wherein the first SCM namespace is associated with a first device node and the second SCM namespace is associated with a second device node, and wherein the first device node is mounted at a different file system location than a file system location where the second device node is mounted. 15. The method of claim 14 , wherein the lookup table includes information identifying the file system location of the first device node and information identifying the file system location of the second device node. 16. The method of claim 11 , wherein the first attributes include one or more of: data atomicity of the first IO, hardware access pattern for a client device that transmitted the first IO, or health of the client device that transmitted the first IO. 17. The method of claim 11 , wherein the method further includes generating a forwarding rule that, when implemented, automatically causes the first IO to be redirected to the first SCM namespace. 18. One or more non-transitory hardware storage devices that store instructions that are executable by one or more processors of a computer system to cause the computer system to: determine a configuration for a namespace, wherein the configuration indicates a type of input/output (IO) that the namespace is structured to handle; store details about the configuration of the namespace in a repository; generate a forwarding rule based on the namespace's stored configuration, wherein, when incoming IO having attributes similar to said type is received, implementation of the forwarding rule causes the incoming IO to be directed to the namespace; determine attributes of a particular incoming IO; and as a result of the attributes satisfying a similarity threshold relative to said type, implement the forwarding rule such that the particular incoming IO is directed to the namespace. 19. The one or more non-transitory hardware storage devices of claim 18 , wherein determining the attributes of the particular incoming IO is performed using a machine learning algorithm. 20. The one or more non-transitory hardware storage devices of claim 18 , wherein the forwarding rule establishes a mapping between the type of IO that the namespace is structured to handle and the attributes of the particular incoming IO.
Details of memory controller · CPC title
Query processing · CPC title
Machine learning · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.