ESS is implemented as a single kernel module. This kernel module acts as a "block filter". A block filter is a piece of software that filters block requests.
Device Mapper - Target
The ESS kernel module is called dm-fbd.ko. 'dm' come from device mapper. The Linux device mapper is a generalized layer that loads block filters. This layer is usually setup with the 'dmsetup' command. 'dmsetup' allows you to create a new device, of any arbitrary size, using any kernel module of arbitrary name as a "block filter".
The parameters to dmsetup are echo'ed into the dmsetup command on stdin and include the offset and size of the device being created, as well as the target logic in use. Some existing Linux targets are zero (dm-zero.ko) for a device that always reads zero and throws away writes, crypt (dm-crypt.ko), the block encryption layer widely in use by Linux, as well as dozens of others.
ESS was originally called "Fast Block Device", thus it's name dm-fbd.ko.
When dmsetup create a device, the device shows up as a block device in the /dev/mapper directory. The default naming for ESS is to create a device named 'fbd1', so you will see the ESS device in /dev/mapper/fbd1. You can change the target name in the load script to match your local conventions.
The target device from ESS can then be used by other Linux block-level tools. For example, you can use 'pvcreate' to setup the ESS "device" as a physical volume that will then be managed by the Linux Volume Manager. This is actually the most common deployment scenario for ESS. You can also partition the ESS device, create file systems on it, mount it as swap, or whatever else makes sense for a block device.