Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

1) Overview

The virtio block device is a virtual block device (ie. disk), instead of placing write and read requests with the actual device, the backend needs to establish the connection. In consequence, read and write requests (and other exotic requests) are placed in the virtio queue, and serviced (probably out of order) by the device except where noted.

...

Examples of such features a trimming and block erase commands, data refresh reads or the use case of wear-leveling or other data persistence management features hidden inside the virtio blck device machinery.

2) Requirements

Requirements attached to the implementation of emmC usage are found at different levels of detail. A typical requirement to be fulfilled is of the following: The hypervisor eMMC server shall execute block erase commands as triggered by the VM owning the respective block device. This in turn assumes that the VM, resp. GuestOS has a requirement enforcing the implementation of a block erase command, also referred as TRIM. As the eMMC block area is handled as virtio block device from inside the GuestOS this requires implementation of the vritio block device and for lower version than Virtio 1.1, TRIM command must be added as a path.

The hypervisor and the guest operating systems need to follow the Virtio specification for virtio-blk to provide block services to the guest, requirements to drive the implementation can be obtained from there.


[1] http://docs.oasis-open.org/virtio/virtio/v1.0/cs04/virtio-v1.0-cs04.pdf

...