Policy based data shredding for storage controller

Policy based data shredding is provided to be executed in a storage controller. A logical volume stored on media, such as magnetic disk drives, may be assigned one or more possible shredding policies. Storing and executing the policies in the controller is more efficient than performing host-based shredding and requires the use of less valuable bandwidth between the host and the controller. In addition, the controller is aware of failures, degradation and offline status of each drive in an array, and is able to thereby terminate or modify a shredding operation if necessary. Each policy includes the number of write passes to be performed on the media location in which the volume is stored and the pattern to write on the media location. The policy may also indicate whether to update a parity area during each of a plurality of write passes or only on the first.

TECHNICAL FIELD

The present invention relates generally to data destruction (shredding) and, in particular, to providing flexible, storage controller-based shredding policies.

BACKGROUND ART

Due to business, security, regulatory or governmental requirements, customer data which is stored but is obsolete or no longer needed may need to be securely erased or deleted in such a way as to be unrecoverable (known as data shredding). Shredding involves overwriting the areas of the physical media on which the customer data is stored. Overwriting typically replaces the data with one of a variety of bit patterns, such as all 0's, all 1's. Moreover, because errors may occur during an overwrite operation, some security protocols require more than one overwrite pass to ensure that no remnant of the original data remains. Thus, one governmental shredding policy requires that a specified pattern be written seven times. Another, more stringent, policy requires that the data be overwritten with its complement, then overwritten by all 1's, then overwritten by all 0's, and then finally overwritten by a specified pattern seven times. Other shredding policies are also in use and may vary by application and regulating authority.

In the past, tape drives and optical drives have implemented fixed commands which perform an overwrite or erase entire volumes in a fixed pattern. Newer data retention products, such as the IBM® Data Retention 450, are being based on magnetic disk drives and include servers (or hosts) and external disk controllers.FIG. 1is a block diagram of an exemplary data retention device100, including a host110, a storage controller120and attached disk drives (which may comprise a RAID array)130. Software122within the host120tracks which sectors of a logical volume are to be shredded and directs the execution of the shredding operation.

The fixed erase commands which have been used in the past to destroy data from tape and optical drives are not flexible enough to satisfy the newer and varying regulatory shredding requirements. Furthermore, in order to overwrite a data sector, the host must send the overwriting pattern to the storage controller as if it was actual data. In a network environment, transmission of such data uses expensive bandwidth.

Additionally, in a storage array130, sectors of a logical volume are typically spread across multiple physical drives of the array130. It may be that one of the drives is offline or in a degraded state, a situation which is known to the controller120but not to the host110. In such an event, data on the offline or degraded drive remains unshredded although the host110believes that the shredding operation was successful.

Consequently, a need exists for a flexible shredding system which accommodates various shredding requirements, reduces bandwidth requirements and takes into account offline or degraded drives.

SUMMARY OF THE INVENTION

The present invention provides methods, systems, computer program products and methods for deploying computing infrastructure for policy based data shredding to be executed in a storage controller. A shredding policy is created for a volume stored in a location on a storage media in a storage device. The policy is stored in the controller which, upon receiving a command to shred the volume, executes the command according to the policy. The policy includes the number of write passes to be performed on the media location and the pattern to write on the media location. The policy may also indicate whether to update a parity area during each of a plurality of write passes or only on the first. A volume may be associated with any number of possible shredding policies; the shredding command from the host indicates which of the policies is to be performed.

In one embodiment, the shredding command is embedded in a SCSI write_verify command, such as by using vendor specific bits within a control byte of the write_verify command. The number of bits used is representative of the number of possible policies available to a volume.

Storing and executing the policies in the controller is more efficient than performing host-based shredding and requires less use of valuable bandwidth between the host and the controller. In addition, the controller is aware of failures, degradation and offline status of each drive in a storage array and is able to thereby terminate or modify a shredding operation if necessary.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 2is a block diagram of a storage controller200in which shredding management of the present invention may be implemented. The controller200is attached through a host interface202to a host250, directly or through a network260. The controller is also attached through one or more device interfaces204to a disk drive or a RAID array270. Data may be stored in a single drive in physical sectors representing logical volumes. In the array270, the data of a logical volume300is stored in sectors spread across the individual drives. In both configurations, mapping of physical storage to logical volumes is maintained by the controller200.FIG. 3is a representation of the exemplary logical volume300having a data area302and a parity area304. The controller200also includes a memory210in which software instructions are stored and a processor206operable to execute the instructions. Among the software instructions stored in the memory210is a shredding management module212.

The shredding management module212includes a policy for each logical volume stored in the drives270. A policy includes a parameter representing the number of overwrite passes to be performed while shredding the volume and a parameter representing a pattern with which to overwrite the original customer data. Some example of patterns include (without limitation): a security standard specified pattern used for governmental applications; all 0's; all 1's; the complement of the original customer data, followed by another pattern; the logical OR or exclusive-OR of the original customer data, followed by another pattern; or some other arbitrary pattern.

A policy may also include a parameter indicating what is to be done with the parity area304. For example, a flag or other indicator may be set to a first state if the parity area is to be updated during each overwrite pass and set to a second state if the parity area is to be updated only during the first of the overwrite passes.

A policy may be assigned a number or descriptive name (hereinafter, the “policy handle”), thus allowing for the efficient identification of a number of policies. In one embodiment, each logical volume may have several possible shredding policies, identified by their respective handles. In operation, a command from the host250to the controller200to shred a volume may thus include the handle of the shredding policy which is to be executed by the controller200. A two-bit shredding command will identify one of four possible shredding policies. In one embodiment, for example, in which the host250is attached to the controller200through a SCSI command interface, the shredding command may be embedded in two vendor specific bits (such as bits6and7)402and404of the existing write_verify command400. As illustrated in the table ofFIG. 5, different combinations of the two bits represent four possible shredding policies available to be used on a volume. A different table may be used to designate the possible shredding policies available for each logical volume. The table may refer to predefined policies (FIG. 5) or may define the policy through entries (FIG. 6) establishing the number of write passes to be performed, the pattern to write over the original data and, if desired, whether to perform one overwrite of the parity or perform more overwrites. It will be appreciated that a different number of bits may be used to provide for greater or fewer possible shredding policies and that other bits of the write_verify and other commands may be used to convey a policy selection from the host250to the controller200. Moreover, the shredding management module212may provide an interface to allow a system administrator to define and store additional shredding policies.

In prior techniques, shredding a volume required the host110(FIG. 1) to transmit to the controller120a pattern with which to overwrite the original customer data. The pattern, in fact, was in the form of, and of the same size as, actual data and therefore required the same bandwidth for transmittal. Moreover, if the pattern was to be written more than once, it may have to have been transmitted multiple times, using still more bandwidth. By contrast, however, in the present invention, because the policies are stored in, and executed by, the controller200, it is not necessary for valuable bandwidth to be used between the host250and the controller200for other than transmitting the single shredding command itself.

On occasion, the disk drive, or one of the drives of the array270, may fail, may be in a degraded state, or be offline, a condition which is unknown to the host250but known to the controller200. If shredding management was executed from the host250, it might believe that the shredding operation was successful when, in fact, it had failed in whole or in part. The shredding management of the present invention being implemented in the controller200, provides the controller200with the ability to acknowledge such a condition. For example, the controller200may, by default, terminate the shredding operation if the drive, or one of the drives,270on which data to be shredded is located is degraded or offline and notify the host250of the failure. Alternatively, the controller200may, by default, shred any data which is available and notify the host250. As still another alternative, the shredding command may indicate which of the two (or other) operations is to be performed if the drive, or one of the drives,270is degraded or offline.

The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated. Moreover, although described above with respect to an apparatus, the need in the art may also be met by a method of managing shredding operations, a computer program product containing instructions for managing shredding operations, or a method for deploying computing infrastructure comprising integrating computer readable code into a computing system for managing shredding operations.