A data aligner aligns a data segment having a granularity of less than a
width of an internal data path. The data aligner aligns a fragment of
data for alignment with a current segment or delay the fragment to
combine with a next segment for alignment of data. A buffer receives the
aligned data from the data aligner for interim storage and subsequent
output onto an internal data path.