Writing Binary data to SD at 2MB/sec (DUE)

I would like to write the raw binary data from ADC conversions running at 600ksps to an SD card. Since each conversion is 2 bytes, this is 1.2 MB/s. I have an adafruit SD breakout board and have successfully tested it up to 4Mb/s using the SdFat bench example with a 32k buffer.

My question is, how do i fill a buffer with binary data and send it to the SD card when the buffer is full? This code only works with single byte char arrays and I would like to use unsigned int(uint16_t).

file.write(buf, sizeof(buf)

Would this be possible with a 3 dimensional array? uint16_t array[32][32][16]


have you tried hard coding the numbers?

uint16_t array[32][32][16]; ... file.write(array, 32*32*16*2);