merged changes from data_chr in to data_rw and data_sk
simplified data driver to eliminate looping

The data driver has been simplified so that it
no longer loops to the beginning when it reaches the
end.  Looping is a unique behavior and reaching
an end is more typical.