systems and methods are disclosed to transfer data between a first bus internal to a system - on - chip device and a second bus external to the soc device , each bus having a plurality of bus segments shared among a plurality of peripheral devices communicating over one or more bus segments . when reading data from a peripheral device , the system packs data by enabling each effected first bus data segment in sequence until requested data is packed ; and when writing data to a peripheral device , the system unpacks data by enabling each effected second bus data segment in sequence until requested data is unpacked .