| CPC G06F 12/1054 (2013.01) [G06F 12/1036 (2013.01); G06F 2212/7201 (2013.01)] | 20 Claims |

|
1. A method comprising:
generating, by an input/output memory management unit (IOMMU), an input/output virtual address (IOVA) that includes a string of bits, wherein generating the IOVA involves randomizing one or more of the bits using a pre-defined randomness algorithm;
storing, by the IOMMU in a translation table, an entry that maps the IOVA to a physical memory address of a storage device; and
subsequent to storing the entry in the translation table:
receiving, by the IOMMU, a request from an input/output (IO) device, wherein the request is to access data at the IOVA;
in response to receiving the request, identifying, by the IOMMU, the physical memory address that is mapped to the IOVA in the entry; and
allowing, by the IOMMU, the IO device to access the data at the physical memory address.
|