An apparatus, computer program product, and method for preventing piracy
in combined hardware/software products, and specifically in RAID storage
systems is disclosed. In a preferred embodiment of the present invention,
when a hardware device (a disk controller, in a preferred embodiment) is
initialized, the device executes firmware that directs it to write a
signature to a storage location (scratchpad register) in the device,
where the signature corresponds to a set of product features authorized
for use with the hardware device. When application code executing on the
host computer system attempts to access a feature (e.g., through device
driver code), the stored signature is read from the hardware device. The
code implementing the feature is allowed to execute only if the signature
that is read from the hardware device matches a feature level of the
product in which that feature is authorized.