1. A method comprising: creating a command queue in a system memory of a computer system that also includes an input/output memory management unit (IOMMU) configured to implement address translation and memory protection for memory requests sourced by one or more input/output (I/O) devices in the computer system; writing one or more control commands to the command queue by a memory management module executable on a processor in the computer system; and the IOMMU reading the control commands from the command queue and executing the commands, wherein the control commands comprise invalidate commands defined to invalidate cached translation data in the IOMMU, wherein the cached translation data is used by the IOMMU to perform the address translation and memory protection for memory requests sourced by the I/O devices.