1. A system, comprising: a peripheral component interconnect device (PCID); a processor; a memory coupled to the processor; and a data structure stored in the memory, wherein the processor utilizes the data structure to maintain information for at least one virtual peripheral component interconnect device (VPCID), wherein the at least one VPCID is a virtualization of the PCID, and wherein the data structure includes a root structure of a virtual machine (VM) ID array, wherein each element of the VM ID array represents an unique VM, wherein each element of the VM ID array has an associated set of VPCID instances, wherein each VPCID instance in the VMID array has an associated array of data blobs, wherein each array of data blobs stores state and data information for its associated VPCID instance, wherein each array of data blobs includes at least one configuration register, and where the at least one configuration register is used for configuring VPCID features.