Serial flash only allows for serial access to the data rather than individual bytes. Typical serial interfaces, with Tx (transmit) and Rx (receive) lines, are asynchronous since there is no guarantee when data is sent that the two sides are running at the exact same rate. Computers rely on a master clock to synchronize the entire system but there is no guarantee that two different systems trying to communicate with each other will be running at the exact same clock frequency. Asynchronous serial connections add extra start and stop bits to each byte to help overcome this problem and ensure that the receiver synchs to the data as it arrives. Asynchronous works well but adds significant overhead. Serial Flash was developed to overcome these disadvantages. The serial interface has significantly fewer signals, allowing a smaller device package and easier PCB routing at the cost of direct random access. Serial NOR Flash typically uses the SPI protocol to interface with the memory controller as opposed to I2C or USB.