US 11,836,095 B2
Forwarding incoming IO to SCM namespaces
Bing Liu, Tianjin (CN); Parmeshwr Prasad, Bangalore (IN); and Rahul Deo Vishwakarma, Bangalore (IN)
Assigned to EMC IP HOLDING COMPANY LLC, Hopkinton, MA (US)
Filed by EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed on Jul. 12, 2021, as Appl. No. 17/305,630.
Prior Publication US 2022/0382689 A1, Dec. 1, 2022
Int. Cl. G06F 13/16 (2006.01); G06F 16/245 (2019.01); G06N 20/00 (2019.01)
CPC G06F 13/1668 (2013.01) [G06F 16/245 (2019.01); G06N 20/00 (2019.01)] 20 Claims
OG exemplary drawing
 
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.
 
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.
 
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.