I mostly use the 34970 just for switching so I'm not that familiar with the scanning feature but I do know that there are several ways to read the data. By default, a reading is returned with units, time stamp, channel number, and alarm limit. You could format the read so that you only get the parameters you need. If you didn't need the entire data set, you can request minimum, maximum, or average of each channel. You could also experiment with the different commands such as READ?, FETCH?, R?, and see which one gives the fastest transfer rate.