The controller's job is to convert the serial bit stream into a block of bytes and perform any error correction necessary. The block of bytes is typically first asembled, bit by bit, in a buffer inside the controller. After its checksum has been verified and the block declared to be free of errors, it can then be copied to main