Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
POWER USAGE MODES OF DRIVES
Document Type and Number:
WIPO Patent Application WO/2017/188981
Kind Code:
A1
Abstract:
Examples disclosed herein relate to setting effective power usage modes of storage drives. Storage drives can be coupled to a storage enclosure and may be capable of consuming power from the storage enclosure. The storage drives can include multiple power usage modes, where each power usage mode is associated with a power usage value and write performance. An effective power usage mode can be set based on a power budget for the storage enclosure and power usage values for the respective storage drives.

Inventors:
NAZARI SIAMAK (US)
PRICE WILLIAM JOSHUA (US)
KHAN DANYAAL MASOOD (US)
Application Number:
PCT/US2016/030059
Publication Date:
November 02, 2017
Filing Date:
April 29, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HEWLETT PACKARD ENTPR DEV LP (US)
International Classes:
G06F3/06; G06F1/16
Foreign References:
US8751836B12014-06-10
US20100050008A12010-02-25
US20050066206A12005-03-24
US20130097433A12013-04-18
US20110029787A12011-02-03
Attorney, Agent or Firm:
PATEL, Milin N. et al. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1 . A storage system comprising:

a storage enclosure with an associated power budget;

a plurality of storage drives coupled to the storage enclosure and to consume power from the storage enclosure,

wherein the storage drives each include multiple power usage modes, wherein each power usage mode is associated with a power usage value and write performance; and

a power controller engine to set an effective power usage mode of each of the storage drives based on the power budget and the respective power usage values of the respective storage drives.

2. The storage system of claim 1 , wherein the sum of a greatest power usage value for each of the storage drives is larger than the power budget.

3. The storage system of claim 2, wherein the power controller engine is to set the effective power usage mode for one of the storage drives to correspond with one of the respective power usage values below the greatest power usage value for the one storage drive.

4. The storage system of claim 3, wherein the power controller engine is further to set the effective power usage mode for the one storage drive to correspond with another power usage value greater than the one respective power usage value based on a size of a write queue associated with the one storage drive.

5. The storage system of claim 3, wherein the power controller engine is further to set the effective power usage mode for the one storage drive to correspond with another power usage value greater than the one power usage value based on a write latency associated with the one storage drive.

6. The storage system of claim 3,

wherein the power controller engine is further to set the effective power usage mode for the one storage drive to correspond with a second power usage value greater than the one power usage value, and

wherein the power controller engine is further to set the effective power usage mode for a second one of the storage drives to correspond with a third power usage value lower than a previous effective power usage mode for the second one storage drive.

7. The storage system of claim 1 , wherein the power controller engine is to set the effective power usage mode of each of the storage drives to correspond with a greatest power usage value for each of the storage drives based on a determination that a sum of the greatest power usage value for each of the storage drives is lower than the power budget.

8. The storage system of claim 1 , wherein the power controller engine is further to set a lower effective power usage mode for one of the storage drives based on a thermal state of the storage system.

9. A non-transitory machine-readable storage medium storing instructions that, if executed by a physical processing element of a computing device, cause the computing device to:

recognize that a plurality of solid state drives are coupled to a storage enclosure,

wherein the solid state drives are capable to draw power from the storage enclosure,

wherein the solid state drives each include multiple power usage modes corresponding to performance and each power usage mode is associated with a power usage value and corresponding write performance; and

determine an effective power usage mode for each of the solid state drives based on a power budget for the storage enclosure.

10. The non-transitory machine-readable storage medium of claim 9, further comprising instructions that, if executed by the physical processing element, cause the computing device to:

determine the respective effective power usage mode for each of the solid state drives is based on at least one of: a write queue and a write latency.

1 1 . The non-transitory machine-readable storage medium of claim 10, wherein a sum of a greatest power usage value for each of the solid state drives is larger than the power budget,

the device further caused to:

set the effective power usage mode for one of the solid state drives to correspond with one of the respective power usage values below the greatest power usage value for the one solid state drive.

12. The non-transitory machine-readable storage medium of claim 10, further comprising instructions that, if executed by the physical processing element, cause the device to:

transition the respective power usage mode for a first one of the solid state drives to correspond with a higher effective power usage mode based on at least one of: the write queue and the write latency; and

set the respective power usage mode for a second one of the solid state drives to a lower effective power usage mode in coordination with the transition.

13. A method comprising:

recognizing, at a processing element, that a plurality of solid state drives are coupled to a storage enclosure,

wherein the solid state drives are capable to draw power from the storage enclosure,

wherein the solid state drives each include multiple power usage modes corresponding to performance and each power usage mode is associated with a power usage value and corresponding write performance; setting an effective power usage mode of each of the solid state drives based on the power budget and the respective power usage values of the respective solid state drives; and

modifying the effective power usage mode for one of the solid state drives based on at least one of: a write queue and a write latency.

14. The method of claim 13, further comprising:

setting the effective power usage mode for a second one of the solid state drives to a lower effective power usage mode in coordination with to the modification.

15. The method of claim 13, wherein a sum of a greatest power usage value for each of the solid state drives is larger than the power budget, the method further comprising:

setting the effective power usage mode for one of the solid state drives to correspond with one of the respective power usage values below the greatest power usage value for the one solid state drive.

Description:
POWER USAGE MODES

OF DRIVES

BACKGROUND

[0001 ] Storage media can be used to store data. Storage media can include hard drives, tape drives, Solid State Drives (SSDs), etc. SSDs are non-volatile data storage devices that are used for persistent data storage, but unlike hard disks drives, contain no moving parts. Some SSD drives use flash memory, which can retain data without being powered.

BRIEF DESCRIPTION OF THE DRAWINGS

[0002] The following detailed description references the drawings, wherein:

[0003] FIG. 1 is a block diagram of a storage system including a power controller engine and a storage enclosure capable of using storage drives with multiple power usage modes, according to an example;

[0004] FIG. 2 is a block diagram of a storage system including a device including a power controller engine and a storage enclosure capable of using storage drives with multiple power usage modes, according to an example;

[0005] FIG. 3 is a flowchart of a method for setting power modes of solid state drives, according to an example; and [0006] FIG. 4 is a block diagram of a computing device capable of changing power states of storage drives based on a power budget of an enclosure and capabilities of the drives, according to an example.

DETAILED DESCRIPTION

[0007] Storage is used to keep information. Various storage technologies exist today, for example, using storage drives such as tape backup, hard drives, solid state drives (SSDs), etc. Data storage can be used for various purposes, for example, personal everyday use, backup uses, business purposes for running or operating servers, backup business purposes, etc. In some of these purposes, a storage enclosure can be used to house multiple storage drives.

[0008] The storage enclosure can be powered. A power supply or multiple power supplies can be used. Further, the storage enclosure may have a power budget (e.g., the maximum amount of power that can be used). In some scenarios, when the storage enclosure is filled with storage drives, the storage drives will use less than the maximum amount of power in the power budget (e.g., because the storage drives are incapable of using that much power). In other scenarios, storage drives may have the capability, if used at maximum power, to use more power than the power budget allows for. In one example, SSDs can include multiple power modes. The higher power modes can correspond to higher write performance.

[0009] Accordingly, approaches described herein can be used to manage write performance of storage (e.g., a storage array) in an enclosure while taking into account the power budget for the enclosure that the storage drives are housed in. In certain examples, a log page, mode page, application programming interface (API), or other similar mechanism can be used to change the power mode of the storage drives. Further, a mechanism of communication can be used to provide setting information from the drives to the enclosure and/or power/storage controllers. In other examples, an administrator or service can be used to provide setting information about the drives, arrays of drives, etc. [0010] In some examples, the storage drives can be set to an initial power mode based on a comparison of power consumption of various modes and the power budget. Further, the power mode effective at a particular time for each storage drive can be controlled, for example, based on a write queue and/or write latency. The write queue or write latency can be for the individual storage drives and/or for an array of drives as a whole. For example, if the write queue and/or write latency exceeds a pre-determined level, the power mode for an associated storage drive or set of drives can be promoted to a higher power usage and write performance. Further, in other examples, the power mode for another storage drive or set of drives can be demoted to a lower power usage and write performance to stay within the power budget.

[001 1 ] A storage controller can be used to track the write queue and/or write latency. In some examples, the storage controller can also be used to read and/or write to the storage drives. The storage controller may implement various approaches to communicate with storage drives, such as a Small Computer System Interface (SCSI), for example, by using one or more SCSI block commands. In some examples, a write queue can include a quantification of writes to a drive and/or array of drives. Further, in some examples, a write latency can refer to an amount of time associated with writing (e.g., an amount of time between when a write request is received and when the request is performed at a drive or array).

[0012] FIG. 1 is a block diagram of a storage system including a power controller engine and a storage enclosure capable of using storage drives with multiple power usage modes, according to an example. FIG. 2 is a block diagram of a storage system including a device including a power controller engine and a storage enclosure capable of using storage drives with multiple power usage modes, according to an example. It will be appreciated that the storage systems 100, 200 shown in Figs. 1 and 2 are only examples of a storage system. In one implementation, the storage system 100 may include various additional storage devices (including SSDs and/or other storage drives) and networks, which may be interconnected in any suitable fashion, depending on the design considerations of a particular implementation. For example, a large storage system may include more client computers and storage devices than shown in this illustration.

[0013] In one example, storage system 100 can include a power controller engine 1 12 communicatively coupled to a storage enclosure 130. The storage enclosure 130 can include a number of storage drives 144a - 144n that can each have power usage modes 146. The storage drives 144 can consume power from the storage enclosure 130, which may be associated with a power budget 142. In some examples, the power controller engine 1 12 can be in the storage enclosure 130. In other examples, the power controller engine 1 12 can be external to the storage enclosure 130 and communicatively coupled. For example, the power controller engine 1 12 can be part of a device that may also control storage capabilities of the storage drives 144a - 144n.

[0014] Further, in another example, storage system 200 can include a device 210 including a power controller engine 212 and storage controller engine 214 that is communicatively coupled to one or more of the storage drives 244a - 244n in a storage enclosure 230. The respective storage drives 244 can include a number of sectors that can be written to and read from using storage controller engine 214. Moreover, the storage enclosure 230 may include a thermal sensor 260 that is capable of measuring temperature in the storage enclosure 230 to take into account heat when making power consumption and/or performance decisions. Though not shown, similar thermal sensing capabilities may be part of one or more of the storage drives 244 and communicated to the storage enclosure 230 and/or power controller engine 212 via an interface.

[0015] As noted above, the storage enclosure 130, 230 can be powered. The power can come from one or more power supplies. However, the power supplies may have limits and, as such, the storage enclosure 130, 230 may be associated with a power budget 142, 242. The power budget 142, 242 can represent an amount of power that can be allocated for use. In some examples, the allocation can be among the storage drives 144, 244 within a respective storage enclosure 130, 230. For example, the power budget 142, 242 may represent a maximum amount of power that can be used for the storage drives 144, 244.

[0016] The storage drives 144, 244 may include various types of persistent storage, including SSDs. In some examples, the SSDs are flash drives. However, the SSDs may also use other types of persistent memory, including resistive memory, for example. As noted above, the storage drives 144, 244 can be associated with respective power usage modes 146, 246. In some examples, each of the power usage modes 246 can correspond to a power usage value 148, 248. Further, the power usage modes 246 can correspond with write performance for the drives. In the case of SSDs, the write performance can be tied to, for example, a number of data channels available to write to storage units. In other examples, the write performance can be tied to other capabilities (e.g., bandwidth available, clock speed, etc.).

[0017] As used herein, power usage value 148, 248 is a representation of power usage of a storage drive 144, 244. Examples of representations may include a peak power rating, a root mean square power rating, or other representation (e.g., a representation based on testing or analysis).

[0018] As used herein, power usage modes 146, 246 are power usage states of the storage drives 144, 244, where the storage drive 144, 244 is able to write data while the mode is active. Each power usage mode 146 corresponds to a power usage value 148, 248. Moreover, each power usage mode 146, 246 is associated with a write performance. The write performance for each power usage mode 146, 246 can align with the corresponding power usage value 148, 248. For example, a greater power usage value 148, 248 can be aligned to a better write performance. Similarly, a lower power usage value 148, 248 can be aligned with less write performance. This aligns with less resources/capabilities being available with lower power usage modes 146, 246. Moreover, in some examples, the power usage modes 146, 246 can have at least two non-zero power usage values 148, 248. [0019] The power controller engine 1 12, 212 can set an effective power usage mode 146, 246 for one or more of the storage drives 144, 244 in the respective enclosures 130, 230. As noted above, the effective power usage mode can be based on the power budget 142, 242 for the respective enclosures 130, 230 and the power usage values 148, 248. As used herein, an effective power usage mode is the power usage mode 146, 246 that is active for a particular storage drive 144, 244 at a given time. The effective power usage mode can be associated with one or more power usage value (e.g., a root mean square rating, a peak power usage rating, combinations thereof, etc.) and a write performance.

[0020] In one example, the sum of a greatest power usage value for each of the storage drives 244 in a storage enclosure 230 is lower than the power budget 242. In this example, the power controller engine 212 can set the effective power usage mode 246 of each of the storage drives 244a - 244n to a greatest power usage value for the respective drives based on the determination.

[0021 ] In another example, the sum of the greatest power usage value for each of the storage drives 244 is larger than the power budget 242. In this example, the power controller engine 212 can set the effective power usage mode for one of the storage drives 244a - 244n to one of the power usage modes 246 with a corresponding power usage value 248 below the greatest power usage value for the storage drive. Power modes of additional storage drives 244 can also be changed in a similar manner. In one example, a predetermined default priority can be set to choose which storage drive(s) is selected to be changed. In another example, the priority can be customized or be set using a methodology.

[0022] In some examples, changes to the power usage modes 246 can also take into account write performance information 222. In some examples, write performance information can include information about writing to a particular storage drive and/or to an array of storage drives in the storage enclosure 230. In one example, the size of a write queue (e.g., the write queue reaching or exceeding a threshold value) to an array or a particular storage drive 244 can be used to trigger the particular storage drive 244 or other storage drives 244 to be set to a power usage mode 246 with a greater power usage value 248 than it previously had. As noted above, the greater power usage value 248 can correspond to a better write performance.

[0023] Similarly, in other examples, the write performance information 222 can include write latency for a storage drive 244 and/or array of storage drives 244. The power controller engine 212 can set the effective power usage mode for the storage drive 244 based on the write latency of the storage drive 244 reaching or exceeding a threshold value.

[0024] In other examples, one or more storage drives 244 of the array can be similarly selected for the greater power usage mode/value. In one example, the storage enclosure 230 can have multiple arrays. When a particular array meets the write latency or write queue threshold, the storage drives 244 belonging to the array can be increased as a group.

[0025] To take into account the power budget 242, the power controller engine 212 can set the effective power usage mode for one or more of the storage drive(s) 244 to a power usage value lower than a previous effective power usage mode for the respective storage drive(s) 244. In some examples, the selection of the storage drive(s) can be based on write performance information 222 regarding the particular drive(s) or array associated with the drive(s). For example, if a write latency or write queue is lower for a particular drive or array compared to other drives or arrays in the enclosure, that drive(s) or array(s) can be selected.

[0026] In some examples, the thermal sensor 260 can provide thermal information about the storage enclosure 230 and/or other thermal sensors can provide thermal information about respective storage drives. The thermal information can be used to set a lower effective power usage mode for one of the drives. For example, if the drive hits the threshold, it can be selected by the power controller engine 212 for a lower power usage mode. Similarly, if the storage enclosure 230 has the issue, one or more drives can be selected for a lower effective power usage mode. In some examples, the power budget 242 can be changed for a time period based on the thermal sensor information. For example, while the temperature of the storage enclosure 230 is at and/or above a predetermined level, the power budget 242 can be decreased so that the temperature in the storage enclosure 230 remains level or goes down. The performance of the storage drives can be re-adjusted based on the lower power budget.

[0027] The storage systems 100, 200 can provide data storage resources to any number of client computers (e.g., client 270a - client 270i), which may be general purpose computers, workstations, mobile computing devices, and the like. The storage systems 100, 200 can include one or more storage array in storage enclosures 130, 230. The clients 270 can be coupled to a storage system 200 directly or through a network, which may be a local area network (LAN), wide area network (WAN), a storage area network (SAN), or other suitable type of network.

[0028] The client computers 270 can access the storage space of the storage arrays by sending Input/Output (I/O) requests to I/O interfaces 220 provided by device 210. The I/O requests can include write requests and read requests, etc. to the storage array. The storage controller engine 214 can process the I/O requests so that user data is written to or read from the appropriate storage locations in the storage array(s). As used herein, the term "user data" refers to data that may be used in the course of business, performance of a job function, or for personal use, such as business data and reports, Web pages, user files, image files, video files, audio files, software applications, or any other similar type of data that that a user may wish to save to long term storage. When the storage controller engine 214 allocates data portions of one or multiple storage drives 244. In some examples, arrays may include implementation of a redundant array of independent disks (RAID) across multiple disks (e.g., using RAID 0, RAID 1 , RAID 5, RAID 6, etc.).

[0029] The storage arrays may include various types of persistent storage, including SSDs. As noted above, in some examples, the SSDs are flash drives. In the case of SSDs, as well as other storage drives, the write performance can be tied to, for example, a number of data channels available to write to storage units. In other examples, the write performance can be tied to other capabilities (e.g., bandwidth available, clock speed, etc.). For example, the storage drives may include a storage controller (e.g., a flash controller) that has bandwidth over a number of channels, the power modes can correspond to the number of channels available. Further, other resources can be turned on or off corresponding to the power modes. Moreover, the speed capabilities of the resources can similarly be throttled for one or more of the power modes.

[0030] The storage controller engine 214 can also controls the allocation of storage space in each storage drive 144, 244. In some examples, clients 270 may also be served using other devices with storage controllers to control storage. In one example, the storage controller engine 214 controls the memory allocation for a certain sub-set of the storage drives 244. In another example, the storage controller engine 214 can control memory allocation of all of the storage drives 244 in a storage array (or in the example of storage system 100. Other arrangements are also possible depending on the design considerations of a particular implementation. Additionally, certain details of the storage system 100, 200 configuration can be specified by an administrator.

[0031 ] The engines 1 12, 212, 214 include hardware and/or combinations of hardware and programming to perform functions provided herein. Moreover, modules (not shown) can include programing functions and/or combinations of programming functions to be executed by hardware as provided herein. When discussing the engines and modules, it is noted that functionality attributed to an engine can also be attributed to the corresponding module and vice versa. Moreover, functionality attributed to a particular module and/or engine may also be implemented using another module and/or engine.

[0032] A processor 218, such as a central processing unit (CPU) or a microprocessor suitable for retrieval and execution of instructions and/or electronic circuits can be configured to perform the functionality of any of the engines 1 12, 212, 214 described herein. In certain scenarios, instructions and/or other information, such as the write performance information 222, can be included in memory 216 or other memory. Input/output interfaces 220 may additionally be provided by device 210. Moreover, in certain examples, some components can be utilized to implement functionality of other components described herein. Input/output devices such as communication devices like network communication devices or wireless devices can also be considered devices capable of using the input/output interfaces 220.

[0033] The storage controller engine 214 may be configured to communicate with other computing devices such as clients 270 to allow the computing devices to access storage provided by a storage drive or array over a storage network. In one example, the storage network may be a Storage Area Network (SAN) or other network.

[0034] The storage controller engine 214 may be configured to process requests from clients to process input records and write them as output data records to storage and read data records from the storage. The requests may include requests or commands to write data records to a storage device and read data records from the storage device. The storage controller engine 214 may respond to the requests with acknowledgments in the form of messages with data according to particular protocols and the like.

[0035] In one example, storage controller engine 214 may be configured to respond to a write request to write a data record. In some examples, data may comprise fields or entries containing blocks or groups of data.

[0036] FIG. 3 is a flowchart of a method for setting power modes of solid state drives, according to an example. FIG. 4 is a block diagram of a computing device capable of changing power states of storage drives based on a power budget of an enclosure and capabilities of the drives, according to an example. Although execution of method 300 is described below with reference to computing device 400, other suitable components for execution of method 300 can be utilized (e.g., device 210). Additionally, the components for executing the method 300 may be spread among multiple devices. Method 300 may be implemented in the form of executable instructions stored on a machine-readable storage medium, such as storage medium 420, and/or in the form of electronic circuitry. In some examples, the computing device 400 can include a storage controller that can control storage on one or more drives of an enclosure 430. Further, in some examples, the computing device 400 may include a power controller that can control power usage of individual drives. As noted above, the drives can be SSDs.

[0037] Storage drives can be coupled to the storage enclosure 430. Coupling can be, for example, via wires, physical connectors, combinations thereof, etc. As noted above, one or more of the storage drives can be capable to draw power from the storage enclosure 430. Further, the storage drives can each include multiple power usage modes that correspond to performance as detailed above. Moreover, each power usage mode can be associated with a power usage value and corresponding write performance. As noted above, write performance can be affected by resources made available by the drive, for example, a memory controller limiting bandwidth available, speed of writing, memory paths available to write with, etc. In some examples, write performance instructions 426 can be executed by the processing element 410 to monitor write performance of an array and/or individual drives.

[0038] At 302, recognition instructions 422 can be executed by processing element 410 to recognize the storage drives (e.g., SSD drives) that are coupled to the storage enclosure. In some examples, the processing element 410 can determine information about the power modes associated with the individual drives. This can be based on communications with the drives and/or storage enclosure 430.

[0039] The processing element 410 can execute power state instructions 424 to determine an effective power usage mode for each of the drives based on a power budget for the storage enclosure 430, for example, as described above. At 304, the power state instructions 424 can be executed to set the effective power usage mode. [0040] As noted above, the determination and setting of the power usage mode can take into account the power usage values of the drives as well as the budget. For example, the sum of a greatest power usage value for each of the drives can be larger than the power budget. In this scenario, the processing element 410 can set the effective power usage mode for one or more of the drives to a power usage mode with a power usage value below the greatest power usage value for the respective drives. As noted above, a predetermined order or methodology can be used to determine which drive(s) are demoted in such a manner. In some examples, an initial degradation can be based on an average power mode among each of the drives to reach the power budget.

[0041 ] Write performance instructions 426 can be executed to determine the write performance of the drives and/or arrays of drives. As noted above, examples, of write performance information can include a write queue for a drive, a write queue for an array, a write latency for a drive, a write latency for an array, combinations thereof, etc. As such, effective power usage modes can be based on the write performance information. With this approach, power usage can be dynamically increased to storage drives that may have a performance need. As such, at 306, the power state instructions 424 can be executed to cause modification of the effective power usage mode for one of the drives. As noted above, the modification can be based on write performance information (e.g., write queue and/or write latency). In one example, the power usage mode for one of the drives can be transitioned to a higher effective power usage mode based on the write performance information. Moreover, the effective power usage mode for another one of the drives can be transitioned/set to a lower effective power usage mode in coordination with the transition higher. The coordination may be a part of accounting for the power budget. Coordination can take into account the write performance of the drive or array of drives being demoted.

[0042] Processing element 410 may be, one or multiple central processing unit (CPU), one or multiple semiconductor-based microprocessor, one or multiple graphics processing unit (GPU), other hardware devices suitable for retrieval and execution of instructions stored in machine-readable storage medium 420, or combinations thereof. The processing element 410 can be a physical device. Moreover, in one example, the processing element 410 may include multiple cores on a chip, include multiple cores across multiple chips, multiple cores across multiple devices (e.g., if the computing device 400 includes multiple node devices), or combinations thereof. Processing element 410 may fetch, decode, and execute instructions 422, 424, 426 to implement other functionality, for example, power control or storage control. As an alternative or in addition to retrieving and executing instructions, processing element 410 may include at least one integrated circuit (IC), other control logic, other electronic circuits, or combinations thereof that include a number of electronic components for performing the functionality of instructions 422, 424, 426.

[0043] Machine-readable storage medium 420 may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. Thus, machine-readable storage medium may be, for example, Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage drive, a Compact Disc Read Only Memory (CD-ROM), and the like. As such, the machine- readable storage medium can be non-transitory. As described in detail herein, machine-readable storage medium 420 may be encoded with a series of executable instructions for unmapping sectors in an SSD to initialize the sectors.

[0044] The computing device 400 may be configured to communicate with other computing devices such as host computing devices over network using network techniques. The network techniques may include any means of electronic or data communication. The network may include a local area network, Internet and the like. The network techniques may include Fibre Channel network, SCSI (Small Computer System Interface) link, Serial Attached SCSI (SAS) link and the like. The network techniques may include switches, expanders, concentrators, routers, and other communications devices.

[0045] In examples described herein, computing device 400 may communicate with components implemented on separate devices or system(s) via a network interface device of the computing device. In another example, computing device 400 may communicate with storage devices via a network interface device of the computing device and storage device. In another example, computing device 400 may communicate with other computing devices via a network interface device of the computing device. In examples described herein, a "network interface device" may be a hardware device to communicate over at least one computer network. In some examples, a network interface may be a Network Interface Card (NIC) or the like. As used herein, a computer network may include, for example, a Local Area Network (LAN), a Wireless Local Area Network (WLAN), a Virtual Private Network (VPN), the Internet, or the like, or a combination thereof. In some examples, a computer network may include a telephone network (e.g., a cellular telephone network).

[0046] The foregoing describes a novel and previously unforeseen approach for storage management. While the above disclosure has been shown and described with reference to the foregoing examples, it should be understood that other forms, details, and implementations may be made without departing from the spirit and scope of this disclosure.