Abstract:
A system and method of improved storage request handling in host-side caches includes a host-side cache with a cache controller, a plurality of request queues, and a cache memory. The cache controller is configured to receive a storage request, assign a priority to the storage request based on a queuing policy, insert the storage request into a first request queue selected from the plurality of request queues based on the assigned priority, extract the storage request from the first request queue when the storage request is a next storage request to fulfill based on the assigned priority, forward the storage request to a storage controller, and receive a response to the storage request from the storage controller. The queuing policy is implemented using a rule-based policy engine. In some embodiments, the cache controller is further configured to update one or more monitoring metrics based on processing of the storage request.
Abstract:
Embodiments described herein provide a storage conversion technique for rapidly converting between storage representations served by a storage system and presented to a host computer of a virtualized computing environment. The storage representations may include physical storage represented by a sequential set of blocks on disks of the storage system that are presented to the host computer in the form of a logical unit number (LUN) and virtual storage represented by a virtual storage device of the storage system that is presented to a hypervisor of the virtualized computing environment in the form of a virtual disk file. Illustratively, the LUN and virtual disk file may be storage objects (e.g., files) having different (file) types and formats in a volume of the storage system; yet each storage object may be organized as a buffer tree having indirect blocks that contain pointers configured to reference data blocks used to store data.
Abstract:
A method, non-transitory computer readable medium, and computing device that loads a scripting framework module into a runspace. The module includes a command including a noun, a verb, a parameter set, and a return type of the parameter set. Source code comprising a noun class corresponding to the noun, a build command method in the noun class corresponding to the verb, and a parameter set method in the noun class corresponding to the parameter set is generated. The build command method generates and returns an object and the parameter set method constructs and invokes the command using the build command method and converts a collection of objects returned in response to the command invocation into an enumerable of the return type. The source code, or a proxy dynamic link library (DLL) generated by compiling the source code, is output to an output directory.
Abstract:
A system and method of improved storage request handling in host-side caches includes a host-side cache with a cache controller, a plurality of request queues, and a cache memory. The cache controller is configured to receive a storage request, assign a priority to the storage request based on a queuing policy, insert the storage request into a first request queue selected from the plurality of request queues based on the assigned priority, extract the storage request from the first request queue when the storage request is a next storage request to fulfill based on the assigned priority, forward the storage request to a storage controller, and receive a response to the storage request from the storage controller. The queuing policy is implemented using a rule-based policy engine. In some embodiments, the cache controller is further configured to update one or more monitoring metrics based on processing of the storage request.
Abstract:
Embodiments described herein provide a storage conversion technique for rapidly converting between storage representations served by a storage system and presented to a host computer of a virtualized computing environment. The storage representations may include physical storage represented by a sequential set of blocks on disks of the storage system that are presented to the host computer in the form of a logical unit number (LUN) and virtual storage represented by a virtual storage device of the storage system that is presented to a hypervisor of the virtualized computing environment in the form of a virtual disk file. Illustratively, the LUN and virtual disk file may be storage objects (e.g., files) having different (file) types and formats in a volume of the storage system; yet each storage object may be organized as a buffer tree having indirect blocks that contain pointers configured to reference data blocks used to store data.