Implement data access directly via MemoryOp instead of using StructLayout
Use MemoryIO directly in DataReader, DataReader