A possibility of using custom data format, for any type of devices, is described in DirectX SDK documentation. For example Monolith's F.E.A.R. use this method.
Any particular reason for this? Do you have a program that sets different data format? The reason I ask - copying 256 bytes is much faster then iterating over the whole data format and copying one byte at a time.
Vitaliy.