Are you restricted to Windows? Or could you use Linux (or Mac OS-X) ?
I do not know the Windows equivalent, but in Unix-based systems, you would connect the device, and look under /dev to find the proper name for it. You would be looking for a name with "rdsk" or "rdisk" in it, probably. For example,
$ ls -l /dev/*disk0
brw-r----- 1 root operator 14, 0 24 May 09:03 /dev/disk0
crw-r----- 1 root operator 14, 0 24 May 09:03 /dev/rdisk0
The line that starts with 'c' ("character device") is the one you want.
In MATLAB, fopen() the device for binary reading:
fid = fopen('/dev/rdisk0','r');
You can then use
indata = fread(fid, N, '*uint16');
where N is the number of values you want to read at one time.
After that, probably the fastest is to divide the values by 16 to shift them right.