A database system is provided with user-directed application-side storage tiering control functionality. A database node of a database system comprises a daemon to communicate with a plurality of storage devices on a plurality of storage tiers of the database system; the daemon further configured to implement storage tiering control functionality based on a user-specified data selection and tier imperative for at least first and second storage tiers comprising respective disjoint subsets of the plurality of storage tiers. An application executing on the database node provides the user-specified data selection and tier imperative to the daemon for processing in response to a predefined keyword. The daemon performs the storage tiering control functionality in response to a programmatic call comprising one or more predefined keywords, such as predefined base command verbs, tier imperative keywords and/or environmental qualifiers. A shunt robot optionally implements the storage tiering control functionality on the at least first and second storage tiers.
|
17. A method comprising:
configuring a daemon on a database node to communicate with a plurality of storage devices on a plurality of storage tiers of a database system; and
further configuring the daemon to implement storage tiering control functionality in response to a command-based user-specified dynamic data selection of at least one database object subset and a tier imperative for at least first and second storage tiers comprising respective disjoint subsets of the plurality of storage tiers based on said user-specified data selection and tier imperative, wherein said command-based user-specified dynamic data selection comprises one or more verb phrases to dynamically generate said at least one database object subset from data in an active memory of said database node, wherein said daemon executes in said active memory;
the daemon thereby being configured to dynamically control movement of said at least one dynamically generated database object subset between the at least first and second storage tiers in response to said command-based user-specified dynamic data selection and tier imperative.
1. A database node of a database system, comprising:
a daemon to communicate with a plurality of storage devices on a plurality of storage tiers of the database system;
the daemon further configured to implement storage tiering control functionality in response to a command-based user-specified dynamic data selection of at least one database object subset and a tier imperative for at least first and second storage tiers comprising respective disjoint subsets of the plurality of storage tiers, wherein said command-based user-specified dynamic data selection comprises one or more verb phrases to dynamically generate said at least one database object subset from data in an active memory of said database node, wherein said daemon executes in said active memory;
the daemon thereby being configured to dynamically control movement of said at least one dynamically generated database object subset between the at least first and second storage tiers in response to said command-based user-specified dynamic data selection and tier imperative;
the daemon being implemented utilizing at least one processing device coupled to a memory.
25. A database system comprising:
a database node;
a plurality of storage tiers having at least first and second storage tiers comprising respective disjoint subsets of the plurality of storage tiers; and
a daemon on said database node to communicate with a plurality of storage devices on said plurality of storage tiers;
the daemon further configured to implement storage tiering control functionality in response to a command-based user-specified dynamic data selection of at least one database object subset and a tier imperative for said at least first and second storage tiers, wherein said command-based user-specified dynamic data selection comprises one or more verb phrases to dynamically generate said at least one database object subset from data in an active memory of said database node, wherein said daemon executes in said active memory; and
the daemon thereby being configured to dynamically control movement of said at least one dynamically generated database object subset between the at least first and second storage tiers in response to said command-based user-specified dynamic data selection and tier imperative.
2. The database node of
3. The database node of
4. The database node of
5. The database node of
6. The database node of
7. The database node of
8. The database node of
9. The database node of
10. The database node of
11. The database node of
12. The database node of
13. The database node of
14. The database node of
15. The database node of
18. The method of
19. The method of
20. The method of
21. The method of
22. The method of
23. The method of
24. A computer program product comprising a non-transitory machine-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed cause the daemon to perform the steps of the method of
26. The database system of
27. The database system of
28. The database system of
29. The database system of
30. The database system of
|
The field relates generally to data storage, and more particularly, to storage re-tiering in database systems.
A database system allows multiple client devices to share access to databases over a network. In conventional database implementations, it can be difficult to balance the conflicting requirements of storage capacity and IO throughput. IO operations on object storage servers are generally performed directly with back-end storage arrays associated with those servers, and the corresponding storage devices may not be well matched to the current needs of the system. This can lead to situations in which either performance is less than optimal or the costs of implementing the system become excessive.
SQL (Structured Query Language) is a programming language that can be used to manage data stored in a relational database management system (RDBMS). The most common operation in SQL is the query, which is performed with a declarative select statement. A SQL query retrieves data from one or more tables or expressions. Tiered storage is a data storage environment consisting of two or more kinds of storage delineated by differences in price, performance, capacity and/or functionality. The performance of a SQL query may be impaired when the target data is stored on multiple storage tiers or when the target data is stored on a storage tier offering a lower performance level.
Accordingly, despite the many advantages of database systems, a need remains for additional improvements, particularly with regard to IO operations. A need exists for user-directed storage tiering control that allows selected data, independent of database or application environment, to be promoted and/or demoted among storage tiers in context of dynamic business data priorities from either inside or outside of application code. For example, further acceleration of IO operations, leading to enhanced system performance relative to conventional arrangements, would be desirable. Additionally or alternatively, an ability to achieve particular levels of performance at lower cost would be advantageous.
Illustrative embodiments of the present invention provide database systems that implement user-directed application-side storage tiering control functionality, so as to provide significant improvements relative to conventional arrangements. In one embodiment, a database system comprises at least one database node, comprising: a daemon to communicate with a plurality of storage devices on a plurality of storage tiers of the database system; the daemon further configured to implement storage tiering control functionality based on a user-specified data selection and tier imperative for at least first and second storage tiers comprising respective disjoint subsets of the plurality of storage tiers, the daemon thereby being configured to control movement of data between the at least first and second storage tiers.
According to one aspect of the invention, an application executing on the database node provides the user-specified data selection and tier imperative to the daemon for processing in response to a predefined keyword. According to another aspect of the invention, the daemon performs the storage tiering control functionality in response to a programmatic call comprising one or more predefined keywords. The predefined keywords include, for example, predefined base command verbs to define the user-specified data selection; tier imperative keywords to define the tier imperative; and/or environmental qualifiers to define an environment of the database system.
According to yet another aspect of the invention, the daemon comprises a shunt robot to implement the storage tiering control functionality on the at least first and second storage tiers. The exemplary shunt robot optionally spawns one or more storage realignment activity threads. In various embodiments, the daemon further comprises a lexical parser to perform lexical parsing in context using one or more predefined keywords; a control scrubber to evaluate one or more of a syntax validity and security; and/or a storage option scrubber to evaluate one or more of a profile and risks of one or more of the database host and storage resources.
As noted above, illustrative embodiments described herein provide significant improvements relative to conventional arrangements. In some of these embodiments, use of a user-directed application-side storage tiering control function allows dynamic balancing of storage capacity and IO throughput requirements in a database system, thereby allowing particular levels of performance to be achieved at a significantly lower cost than would otherwise be possible.
Illustrative embodiments of the present invention will be described herein with reference to exemplary database systems and associated clients, servers, storage arrays and other processing devices. It is to be appreciated, however, that the invention is not restricted to use with the particular illustrative database system and device configurations shown. Accordingly, the term “database system” as used herein is intended to be broadly construed, so as to encompass, for example, dedicated standalone and/or distributed or parallel database systems, and other types of database systems implemented using one or more clusters of processing devices.
Aspects of the present invention provide user-directed storage tiering control that allows selected data to be promoted and/or demoted among storage tiers. In one exemplary embodiment, a SQL Intercept Tier Alignment Robot (SITAR) daemon is provided on one or more nodes of a database system. The SITAR daemon allows a user to specify a subset of a database (e.g., a selected data range and/or segments of data within data file blocks) to be promoted and/or demoted among a plurality of storage tiers. The data selection can be performed across a plurality of tiers, which may be, for example, partitioned by date, and the selected data can be directed to a designated tier.
According to a further feature of the invention, storage tiering control can be provided from within or outside of a database application to re-tier SQL objects at a selected level. Storage tiering is initiated from within a database application by employing a recognized verb keyword that provides an indication to the database application to provide the following syntax to the SITAR daemon 250 as a pass-through for further processing. In this manner, the disclosed exemplary SITAR daemon provides intelligent and real-time movement of tables, table spaces and user-specified data selections among storage tiers in applications interacting with SQL compliant databases. While the present invention is implemented using SQL queries, other query languages could be employed as would be apparent to a person of ordinary skill in the art.
As discussed hereinafter, in one exemplary embodiment, the disclosed SITAR daemon is a rule-based mechanism to move user-specified data selections across storage tiers in real-time. The exemplary SITAR daemon processes user actions initiated from within or outside of a database application to validate, weight, prioritize, and aggregate action task elements in context of an active resource burden and encapsulated best practices for storage tiering. Once validated, parsed, and indexed, the SITAR daemon spawns, monitors and journals storage realignment activity threads based on those and other operational criteria as detailed in the lexical parse engine schematic.
Storage arrays utilized in the database system 100 may comprise, for example, storage products such as VNX and Symmetrix VMAX, both commercially available from EMC Corporation of Hopkinton, Mass. A variety of other storage products may be utilized to implement at least a portion of the object storage targets of the database system 100.
The network 106 may comprise, for example, a global computer network such as the Internet, a wide area network (WAN), a local area network (LAN), a satellite network, a telephone or cable network, a cellular network, a wireless network such as WiFi or WiMAX, or various portions or combinations of these and other types of networks. The term “network” as used herein is therefore intended to be broadly construed, so as to encompass a wide variety of different network arrangements, including combinations of multiple networks possibly of different types.
The storage tiers 112 in the present embodiment are arranged into first, second and third storage tiers 112-1 and 112-2, also denoted as Storage Tiers 1, 2 and 3, although it is to be appreciated that less than or more than three storage tiers may be used in other embodiments. The first, second and third storage tiers 112 comprise respective disjoint subsets of storage. More particularly, the first storage tier 112-1 comprises flash storage, the second storage tier 112-2 comprises fibre channel storage and the third storage tier 112-N comprises SATA storage. As shown in
As discussed further below in conjunction with
The different storage tiers 112-1 through 112-N in this embodiment comprise different types of storage devices having different performance characteristics. As indicated above, the first storage tier 112-1 provides storage of a first type, such as flash storage, the second storage tier 112-2 provides storage of a second type, such as fibre channel storage, and the third storage tier 112-N provides storage of a third type, such as SATA (Serial ATA) storage.
The flash storage devices of the first storage tier 112-1 are generally significantly faster in terms of read and write access times than the fibre channel storage devices of the second storage tier 112-2. The flash storage devices are therefore considered “fast” devices in this embodiment relative to the “slower” fibre channel storage devices. Likewise, the fibre channel storage devices of the second storage tier 112-2 are generally significantly faster in terms of read and write access times than the SATA disk storage devices of the third storage tier 112-N. The fibre channel storage devices are therefore considered “faster” devices in this embodiment relative to the “slower” disk channel storage devices.
Accordingly, the database system 100 may be characterized in the present embodiment as having a “fast” storage tier 112-1, a “medium” storage tier 112-2, and a “slow” storage tier 112-N, where “fast,” “medium” and “slow” in this context are relative terms and not intended to denote any particular absolute performance level. These storage tiers 112 comprise respective disjoint subsets of storage devices. However, numerous alternative tiering arrangements may be used, including more or less tiers each providing a different level of performance. The particular storage devices used in a given storage tier may be varied in other embodiments and multiple distinct storage device types may be used within a single storage tier.
The flash storage devices in the first storage tier 112-1 may be implemented, by way of example, using respective flash Peripheral Component Interconnect Express (PCIe) cards or other types of memory cards installed in a computer or other processing device that implements the corresponding storage tier 112-1. Numerous alternative arrangements are possible. Also, a variety of other types of non-volatile or volatile memory in any combination may be used to implement at least a portion of the storage devices. Examples of alternatives to flash storage devices that may be used in other embodiments of the invention include non-volatile memories such as magnetic random access memory (MRAM) and phase change random access memory (PC-RAM).
The flash storage devices of the first storage tier 112-1 generally provide higher performance than the disk storage devices of the third tier 112-N but the disk storage devices of the third storage tier 112-N generally provide higher capacity at lower cost than the flash storage devices. The exemplary tiering arrangement of
In the
Each database node 200 further comprises a processor 156 coupled to a memory 158. The processor 156 may comprise a microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other type of processing circuitry, as well as portions or combinations of such circuitry elements. The memory 158 may comprise random access memory (RAM), read-only memory (ROM) or other types of memory, in any combination.
The memory 158 and other memories disclosed herein may be viewed as examples of what are more generally referred to as “computer program products” storing executable computer program code.
Also included in the database node 200 is network interface circuitry 154. The network interface circuitry 154 allows the database nodes 200 to communicate over the network 106 with the clients 102 and storage tiers 112. The network interface circuitry 154 may comprise, for example, one or more conventional transceivers.
The SITAR daemon 250 of the database nodes 200 may be implemented at least in part in the form of software that is stored in memory 158 and executed by processor 156.
The database node 200 comprising processor, memory and network interface components as described above is an example of what is more generally referred to herein as a “processing device.” Each of the clients 102, storage tiers 112 and database nodes 200 may similarly be implemented as a processing device comprising processor, memory and network interface components.
Although multiple SITAR daemon 250 are shown in the
The database system 100 may be implemented, by way of example, in the form of an ORACLE™ network file system (NFS), although use of any particular database system is not a requirement of the present invention. Accordingly, database nodes 200 need not be configured with ORACLE™ functionality, but may instead represent elements of another type of database system.
As indicated previously, it is difficult in conventional database system implementations to balance the conflicting requirements of storage capacity and IO throughput. This can lead to situations in which either performance is less than optimal or the costs of implementing the system become excessive.
In the present embodiment, these and other drawbacks of conventional arrangements are addressed by providing a SITAR daemon 250 to implement storage tiering control functionality. As will be described, such arrangements advantageously allow for transparent storage re-tiering in a database system in a manner that avoids the need for any significant changes to clients and storage devices of storage tiers 112. Again, other types and configurations of multiple storage tiers and associated storage devices may be used. Exemplary features of the data migration software and other functionality associated with a SITAR daemon 250 will be described below.
It should be noted with regard to the illustrative embodiments of
As shown in
As discussed further below in conjunction with
As discussed further below in conjunction with
As shown in column 320 of
As shown in column 330 of
It is noted that other combinations of command verbs 310, tier imperatives 320 and environmental qualifiers 330 can be employed than those combinations showed in
For example, a programmatic call 400 within an application may comprise:
Select /* {Scan(top(500)) Priority Oral 1(cls)} */
cus.c_name,cus.c_ord,cus.c_due,ord.order summary from customers cus, orders ord where cus.c_id=ord.c_id;
Based on the scan command verb 310 and priority tier imperative 320, this exemplary programmatic call 500 shifts the data selection from the top 500 records from the current storage tier into a tablespace based in the highest performing storage tier of an ORACLE™ database system.
In another example, a programmatic call 500 from outside an application may comprise:
{Mod Depriority dbtwo(node)}; Update orders, set order_state=‘complete’ where order_type=‘backlog’
Based on the modify select verb 310 and depriority tier imperative 320, this exemplary programmatic call 500 performs the update command for backlog orders, changes the state to complete and then moves the selected content to the lowest performing/least expensive storage tier in an IBM™ DB2™ node environment. The application is a scheduled batch job firing outside of the database, as a client of the database environment. Thus, the batch job should not consume resources needed by higher priority tasks.
Examples of operations that may be performed in the system 100 utilizing the SITAR daemon 250 for all calls to SITAR in active memory will now be described in more detail with reference to the pseudo code of
As shown in
During step 1.2, the control scrubbers 600 sets a Parse Complexity Rating (PCR), for example, based on a Vendor context, Sitar verb phrase and limit delta as follows:
PCR=A+B+C, where,
A=(database Vendor Context, e.g., ORACLE™ database system, SQL Server, DB2);
B=(Length of Sitar verb phrase 310 (command concatenation)); and
C=(Limit Delta (Actual Length−Limit specified in request 610).
As shown in
IW=(DNU+HCP+DP+ASC+PCR)*State,
where the data network utilization (DNU) may comprise, for example, v$IOStat_Network; the Host CPU profile (HCP) may comprise, for example, v$SGAINFO (size, granule size, free memory), v$SGA_Dynamic; the Disk Profile (DP) based on Storage Tier Activity may comprise, for example, v$sysmetric and an Active Shunt Count (ASC).
Examples of operations that may be performed in the system 100 utilizing the SITAR daemon 250 for all validated, parsed and indexed shunt tasks will now be described in more detail with reference to the pseudo code of
As shown in
F(x)=IW+10
. . . (x>75{spawn=3} . . .
The process threads for enabled shunt tasks within the SSL are spawned during step 1.1.1; the denied shunt tasks are logged during step 1.5.1.2, for example using a call to a journaler 1100 (
As shown in
Among other benefits, the disclosed SITAR daemon 250 can adjust application data performance priorities in context of shifting business data priorities; optimize a configuration for storage resource alignment to those priorities; adapt to performance requirements over time and attain an improved financial return on data storage investment and use. The disclosed SITAR daemon 250 can dynamically realign selected database content at the object or data subset level to a selected storage tiering assignment, independent of database or application environment, and from inside or outside of database application code.
The exemplary SITAR daemon 250 can factor for and address the following data cost/performance challenges and needs:
It is to be appreciated that the particular operations and associated messaging illustrated in
It should therefore be understood that in other embodiments different arrangements of additional or alternative elements may be used. At least a subset of these elements may be collectively implemented on a common processing platform or each such element may be implemented on a separate processing platform.
Also, numerous other arrangements of computers, servers, storage devices or other components are possible in the database system 100. Such components can communicate with other elements of the database system 100 over any type of network or other communication media.
As indicated previously, components of a SITAR daemon 250 as disclosed herein can be implemented at least in part in the form of one or more software programs stored in memory and executed by a processor of a processing device. A memory having such program code embodied therein is an example of what is more generally referred to herein as a “computer program product.”
The database system 100 or portions thereof may be implemented using one or more processing platforms each comprising a plurality of processing devices. Each such processing device may comprise processor, memory and network interface components of the type illustrated for database node 200-1 in
As indicated above, database system tiering functionality such as that described in conjunction with
It should again be emphasized that the above-described embodiments of the invention are presented for purposes of illustration only. Many variations and other alternative embodiments may be used. For example, the disclosed techniques are applicable to a wide variety of other types and arrangements of database systems and associated clients, servers and other processing devices that can benefit from user-directed application-side storage tiering control functionality as described herein. Also, the particular configurations of system and device elements shown in
Esposito, Jeffrey D., McClure, Anne
Patent | Priority | Assignee | Title |
10030986, | Jun 29 2016 | WHP WORKFLOW SOLUTIONS, INC ; GETAC TECHNOLOGY CORPORATION | Incident response analytic maps |
10439878, | May 31 2018 | EMC IP HOLDING COMPANY LLC | Process-based load balancing and failover policy implementation in storage multi-path layer of host device |
10474367, | Dec 21 2017 | EMC IP HOLDING COMPANY LLC | Storage system with input-output performance control utilizing application process detection |
10476960, | May 01 2018 | EMC IP HOLDING COMPANY LLC | Host device configured to automatically discover new paths responsive to storage system prompt |
10521369, | Jul 13 2018 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer configured for per-process data reduction control |
10606496, | Sep 26 2018 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer implementing automatic standby setting for active-active configuration |
10637917, | Apr 30 2018 | EMC IP HOLDING COMPANY LLC | Host device load balancing using port load reported by storage system |
10754559, | Mar 08 2019 | EMC IP HOLDING COMPANY LLC | Active-active storage clustering with clock synchronization |
10754572, | Oct 09 2018 | EMC IP HOLDING COMPANY LLC | Migrating control of a multi-path logical device from a current MPIO driver to a target MPIO driver |
10757189, | Apr 30 2018 | EMC IP HOLDING COMPANY LLC | Service level objection based input-output selection utilizing multi-path layer of host device |
10764371, | Jul 13 2018 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer configured to provide cluster identification information to storage system |
10789006, | May 13 2019 | EMC IP HOLDING COMPANY LLC | Path-based data migration from source device to target device |
10817181, | Dec 24 2018 | EMC IP HOLDING COMPANY LLC | Host device with multi-path scheduling based at least in part on measured parameters |
10838648, | Dec 12 2018 | EMC IP HOLDING COMPANY LLC | Distributed host copy migration in a cluster environment using changed block tracking |
10880217, | Dec 24 2018 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer configured for detection and resolution of oversubscription conditions |
10884935, | Sep 30 2019 | EMC IP HOLDING COMPANY LLC | Cache allocation for controller boards based on prior input-output operations |
10911402, | Oct 27 2017 | EMC IP HOLDING COMPANY LLC | Storage system with network-wide configurable device names |
10936220, | May 02 2019 | EMC IP HOLDING COMPANY LLC | Locality aware load balancing of IO paths in multipathing software |
10936335, | Jan 30 2019 | EMC IP HOLDING COMPANY LLC | Path-based migration of control of a multi-path logical device from a current MPIO driver to a target MPIO driver |
10936522, | Sep 30 2019 | EMC IP HOLDING COMPANY LLC | Performing input-output multi-pathing from user space |
10949104, | May 03 2019 | EMC IP HOLDING COMPANY LLC | Host device configured for automatic creation of multi-path logical devices with user-defined names |
10996879, | May 02 2019 | EMC IP HOLDING COMPANY LLC | Locality-based load balancing of input-output paths |
11012510, | Sep 30 2019 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer configured for detecting target failure status and updating path availability |
11012512, | May 20 2020 | EMC IP HOLDING COMPANY LLC | Host device with automated write throttling responsive to storage system write pressure condition |
11016699, | Jul 19 2019 | EMC IP HOLDING COMPANY LLC | Host device with controlled cloning of input-output operations |
11016783, | Jul 25 2019 | EMC IP HOLDING COMPANY LLC | Secure storage access utilizing multi-path layer of host device to identify processes executed on the host device with authorization to access data of a storage system |
11023134, | May 22 2020 | EMC IP HOLDING COMPANY LLC | Addition of data services to an operating system running a native multi-path input-output architecture |
11023161, | Nov 25 2019 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer implementing efficient load balancing for active-active configuration |
11032373, | Oct 12 2020 | EMC IP HOLDING COMPANY LLC | Host-based bandwidth control for virtual initiators |
11042327, | Mar 10 2020 | EMC IP HOLDING COMPANY LLC | IO operation cloning using change information sharing with a storage system |
11044313, | Oct 09 2018 | EMC IP HOLDING COMPANY LLC | Categorizing host IO load pattern and communicating categorization to storage system |
11050660, | Sep 28 2018 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer implementing path selection based at least in part on fabric identifiers |
11050825, | Jan 30 2020 | EMC IP HOLDING COMPANY LLC | Storage system port usage information sharing between host devices |
11080215, | Mar 31 2020 | EMC IP HOLDING COMPANY LLC | Host device providing automated prediction of change intervals to reduce adverse impacts on applications |
11086785, | Sep 24 2019 | EMC IP HOLDING COMPANY LLC | Host device with storage cache aware processing of input-output operations in multi-path layer |
11093144, | Feb 18 2020 | EMC IP HOLDING COMPANY LLC | Non-disruptive transformation of a logical storage device from a first access protocol to a second access protocol |
11093155, | Dec 11 2019 | EMC IP HOLDING COMPANY LLC | Automated seamless migration with signature issue resolution |
11099754, | May 14 2020 | EMC IP HOLDING COMPANY LLC | Storage array with dynamic cache memory configuration provisioning based on prediction of input-output operations |
11099755, | Jan 06 2020 | EMC IP HOLDING COMPANY LLC | Multipath device pseudo name to logical volume mapping for host devices |
11106381, | Nov 27 2019 | EMC IP HOLDING COMPANY LLC | Automated seamless migration of logical storage devices |
11126358, | Dec 14 2018 | EMC IP HOLDING COMPANY LLC | Data migration agnostic of pathing software or underlying protocol |
11126363, | Jul 24 2019 | EMC IP HOLDING COMPANY LLC | Migration resumption using journals |
11151071, | May 27 2020 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer distribution of input-output operations across storage caches |
11157203, | May 15 2019 | EMC IP HOLDING COMPANY LLC | Adaptive load balancing in storage system having multiple input-output submission queues |
11157432, | Aug 28 2020 | EMC IP HOLDING COMPANY LLC | Configuration of block devices based on provisioning of logical volumes in a storage system |
11169941, | Apr 09 2020 | EMC IP HOLDING COMPANY LLC | Host device with automated connectivity provisioning |
11175828, | May 14 2020 | EMC IP HOLDING COMPANY LLC | Mitigating IO processing performance impacts in automated seamless migration |
11175840, | Jan 30 2020 | EMC IP HOLDING COMPANY LLC | Host-based transfer of input-output operations from kernel space block device to user space block device |
11200250, | Nov 30 2018 | Tata Consultancy Services Limited | Method and system for optimizing validations carried out for input data at a data warehouse |
11204699, | Mar 05 2020 | EMC IP HOLDING COMPANY LLC | Storage system port maintenance information sharing with host device |
11204777, | Nov 30 2020 | EMC IP HOLDING COMPANY LLC | Boot from SAN operation support on multi-pathing devices |
11216200, | May 06 2020 | EMC IP HOLDING COMPANY LLC | Partition utilization awareness of logical units on storage arrays used for booting |
11223679, | Jul 16 2018 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer configured for detection and reporting of path performance issues |
11226851, | Jul 10 2020 | EMC IP HOLDING COMPANY LLC | Execution of multipath operation triggered by container application |
11231861, | Jan 15 2020 | EMC IP HOLDING COMPANY LLC | Host device with active-active storage aware path selection |
11256421, | Dec 11 2019 | EMC IP HOLDING COMPANY LLC | Path selection modification for non-disruptive upgrade of a host device |
11256446, | Aug 03 2020 | EMC IP HOLDING COMPANY LLC | Host bus adaptor (HBA) virtualization aware multi-pathing failover policy |
11265261, | Mar 18 2020 | EMC IP HOLDING COMPANY LLC | Access path management based on path condition |
11277335, | Dec 26 2019 | EMC IP HOLDING COMPANY LLC | Host device with path selection modification responsive to mismatch in initiator-target negotiated rates |
11294782, | Mar 22 2021 | Credit Suisse AG, Cayman Islands Branch | Failover affinity rule modification based on node health information |
11308004, | Jan 18 2021 | EMC IP HOLDING COMPANY LLC | Multi-path layer configured for detection and mitigation of slow drain issues in a storage area network |
11320994, | Sep 18 2020 | EMC IP HOLDING COMPANY LLC | Dynamic configuration change control in a storage system using multi-path layer notifications |
11366590, | Oct 11 2019 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer providing dynamic control of one or more path selection algorithms |
11366756, | Apr 13 2020 | EMC IP HOLDING COMPANY LLC | Local cached data coherency in host devices using remote direct memory access |
11366771, | May 02 2019 | EMC IP HOLDING COMPANY LLC | Host device with multi-path layer configured for detection and resolution of initiator-related conditions |
11368399, | Mar 27 2020 | EMC IP HOLDING COMPANY LLC | Congestion aware multipathing based on network congestion notifications |
11372951, | Dec 12 2019 | EMC IP HOLDING COMPANY LLC | Proxy license server for host-based software licensing |
11379325, | Oct 04 2019 | EMC IP HOLDING COMPANY LLC | Path failure information sharing between host devices connected to a storage system |
11379387, | Aug 02 2019 | EMC IP HOLDING COMPANY LLC | Storage system with submission queue selection utilizing application and submission queue priority |
11385824, | Nov 30 2020 | EMC IP HOLDING COMPANY LLC | Automated seamless migration across access protocols for a logical storage device |
11386023, | Jan 21 2021 | EMC IP HOLDING COMPANY LLC | Retrieval of portions of storage device access data indicating access state changes |
11392459, | Sep 14 2020 | EMC IP HOLDING COMPANY LLC | Virtualization server aware multi-pathing failover policy |
11397539, | Nov 30 2020 | EMC IP HOLDING COMPANY LLC | Distributed backup using local access |
11397540, | Oct 12 2020 | EMC IP HOLDING COMPANY LLC | Write pressure reduction for remote replication |
11397589, | Mar 06 2020 | EMC IP HOLDING COMPANY LLC | Snapshot transmission from storage array to cloud using multi-path input-output |
11409460, | Dec 08 2020 | EMC IP HOLDING COMPANY LLC | Performance-driven movement of applications between containers utilizing multiple data transmission paths with associated different access protocols |
11418594, | Oct 20 2021 | Dell Products L.P.; Dell Products L P | Multi-path layer configured to provide link availability information to storage system for load rebalancing |
11422718, | May 03 2021 | EMC IP HOLDING COMPANY LLC | Multi-path layer configured to provide access authorization for software code of multi-path input-output drivers |
11449257, | Feb 21 2020 | EMC IP HOLDING COMPANY LLC | Host device with efficient automated seamless migration of logical storage devices across multiple access protocols |
11449440, | Jan 19 2021 | EMC IP HOLDING COMPANY LLC | Data copy offload command support across multiple storage access protocols |
11455116, | Dec 16 2020 | EMC IP HOLDING COMPANY LLC | Reservation handling in conjunction with switching between storage access protocols |
11461026, | Jan 21 2020 | EMC IP HOLDING COMPANY LLC | Non-disruptive update of host multipath device dependency |
11467765, | Jan 20 2021 | EMC IP HOLDING COMPANY LLC | Detection and mitigation of slow drain issues using response times and storage-side latency view |
11494091, | Jan 19 2021 | EMC IP HOLDING COMPANY LLC | Using checksums for mining storage device access data |
11520671, | Jan 29 2020 | EMC IP HOLDING COMPANY LLC | Fast multipath failover |
11526283, | Jun 08 2021 | EMC IP HOLDING COMPANY LLC | Logical storage device access using per-VM keys in an encrypted storage environment |
11543971, | Nov 30 2020 | EMC IP HOLDING COMPANY LLC | Array driven fabric performance notifications for multi-pathing devices |
11550511, | May 21 2021 | EMC IP HOLDING COMPANY LLC | Write pressure throttling based on service level objectives |
11561699, | Apr 24 2020 | EMC IP HOLDING COMPANY LLC | Input-output path selection using switch topology information |
11567669, | Dec 09 2021 | Dell Products L.P. | Dynamic latency management of active-active configurations using multi-pathing software |
11586356, | Sep 27 2021 | Dell Products L.P.; Dell Products L P | Multi-path layer configured for detection and mitigation of link performance issues in a storage area network |
11615340, | May 23 2019 | EMC IP HOLDING COMPANY LLC | Methods and apparatus for application prediction through machine learning based analysis of IO patterns |
11620054, | Apr 21 2022 | Dell Products L.P.; Dell Products L P | Proactive monitoring and management of storage system input-output operation limits |
11620240, | Dec 07 2020 | EMC IP HOLDING COMPANY LLC | Performance-driven access protocol switching for a logical storage device |
11625232, | Jun 07 2021 | EMC IP HOLDING COMPANY LLC | Software upgrade management for host devices in a data center |
11625308, | Sep 14 2021 | Dell Products L.P.; Dell Products L P | Management of active-active configuration using multi-pathing software |
11630581, | Nov 04 2020 | EMC IP HOLDING COMPANY LLC | Host bus adaptor (HBA) virtualization awareness for effective input-output load balancing |
11640245, | Feb 17 2021 | Credit Suisse AG, Cayman Islands Branch | Logical storage device access in an encrypted storage environment |
11651066, | Jan 07 2021 | EMC IP HOLDING COMPANY LLC | Secure token-based communications between a host device and a storage system |
11656987, | Oct 18 2021 | Dell Products L.P.; Dell Products L P | Dynamic chunk size adjustment for cache-aware load balancing |
11750457, | Jul 28 2021 | Dell Products L.P.; Dell Products L P | Automated zoning set selection triggered by switch fabric notifications |
11755222, | Feb 26 2021 | Credit Suisse AG, Cayman Islands Branch | File based encryption for multi-pathing devices |
11762588, | Jun 11 2021 | EMC IP HOLDING COMPANY LLC | Multi-path layer configured to access storage-side performance metrics for load balancing policy control |
11782611, | Apr 13 2021 | Credit Suisse AG, Cayman Islands Branch | Logical storage device access using device-specific keys in an encrypted storage environment |
11789624, | May 31 2022 | Dell Products L.P. | Host device with differentiated alerting for single points of failure in distributed storage systems |
11797312, | Feb 26 2021 | Credit Suisse AG, Cayman Islands Branch | Synchronization of multi-pathing settings across clustered nodes |
11822706, | May 26 2021 | EMC IP HOLDING COMPANY LLC | Logical storage device access using device-specific keys in an encrypted storage environment |
11853586, | Oct 20 2020 | EMC IP HOLDING COMPANY LLC | Automated usage based copy data tiering system |
11886711, | Jun 16 2022 | Dell Products L.P.; Dell Products L P | Host-assisted IO service levels utilizing false-positive signaling |
11916938, | Aug 28 2020 | EMC IP HOLDING COMPANY LLC | Anomaly detection and remediation utilizing analysis of storage area network access patterns |
11928365, | Mar 09 2021 | Credit Suisse AG, Cayman Islands Branch | Logical storage device access using datastore-level keys in an encrypted storage environment |
11934659, | Sep 28 2022 | Dell Products L P; Dell Products L.P. | Host background copy process with rate adjustment utilizing input-output processing pressure feedback from storage system |
11954344, | Jun 16 2021 | EMC IP HOLDING COMPANY LLC | Host device comprising layered software architecture with automated tiering of logical storage devices |
11983429, | Jun 22 2022 | Dell Products L.P. | Migration processes utilizing mapping entry timestamps for selection of target logical storage devices |
11983432, | Apr 28 2022 | Dell Products L P; Dell Products L.P. | Load sharing of copy workloads in device clusters |
11989156, | Mar 06 2023 | Dell Products L.P. | Host device conversion of configuration information to an intermediate format to facilitate database transitions |
ER1737, | |||
ER3509, | |||
ER5787, | |||
ER6486, | |||
ER912, | |||
ER9412, |
Patent | Priority | Assignee | Title |
5822780, | Dec 31 1996 | EMC IP HOLDING COMPANY LLC | Method and apparatus for hierarchical storage management for data base management systems |
9189387, | Jun 24 2013 | EMC IP HOLDING COMPANY LLC | Combined memory and storage tiering |
20050203921, | |||
20130173557, | |||
20140095448, | |||
20140095790, |
Date | Maintenance Fee Events |
Aug 20 2020 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Mar 14 2020 | 4 years fee payment window open |
Sep 14 2020 | 6 months grace period start (w surcharge) |
Mar 14 2021 | patent expiry (for year 4) |
Mar 14 2023 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 14 2024 | 8 years fee payment window open |
Sep 14 2024 | 6 months grace period start (w surcharge) |
Mar 14 2025 | patent expiry (for year 8) |
Mar 14 2027 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 14 2028 | 12 years fee payment window open |
Sep 14 2028 | 6 months grace period start (w surcharge) |
Mar 14 2029 | patent expiry (for year 12) |
Mar 14 2031 | 2 years to revive unintentionally abandoned end. (for year 12) |