You still have to loop to copy memory, don't you? Or are you going to read a large block at once to copy 4K of info? That may be the problem.