Patent ID: 8751740
Filing Date: 2014-06-10
Classification: G06F

Abstract:
1. A system for performance optimization of storage allocation to virtual logical units, the system comprising: a storage entity having data storage space for storing data, the data storage space being divided into a plurality of slices; a slice allocation table for storing slice allocation status; a memory, different from the data storage space and the slice allocation table, for storing in-memory statistics regarding the allocation of slices to logical units; a management database, different from the memory and the slice allocation table, for non-volatilely storing information regarding the allocation of slices to logical units; an allocation module for performing an allocation process in response to receiving an I/O write request, wherein the allocation process includes: selecting from the plurality of slices a slice to be allocated based on in-memory statistics, allocating the selected slice to a logical unit, updating the in-memory statistics to reflect the allocation of the selected slice, updating the slice allocation table to indicate that a post-I/O management process for the selected slice is pending, processing the I/O write request, and scheduling the post-I/O management process to be performed asynchronously; and a management module for performing scheduled post-I/O management processes asynchronously with allocation processes, wherein the post-I/O management process for the selected slice includes: updating the management database to reflect the allocation of the selected slice, and updating the status of the selected slice in the slice allocation table to indicate that the post-I/O management process for the selected slice has been performed.