add the memread and write function to the data memory controller, but left serial port TBD