Copying data from linear memory to a 3D cuda array

If I want to copy data from linear memory to a 3D cuda array, how should the data be organized in linear memory. For example, if I have my 3D volume composed of 2 2-D 2X2 slices with the following values:

Slice 1:

1 2
3 4

Slice 2:

5 6
7 8

is it correct to have a linear memory of 8*sizeof(int) allocated and initialized as 1 2 3 4 5 6 7 8? Can I copy this linear memory to a 3D cuda array, bind it to a 3D texture and access it correctly?

I know I can write a small kernel and try this out myself…but laziness takes over :(