The read module also maintains {HEAD ~ a clear read pointer} for preventing {TAIL ~ the write module} from overwriting unread data in the memory 
The read module also maintains { HEAD ~ a clear read pointer } for preventing { TAIL ~ the write module } from overwriting unread data in the memory
OTH OTH OTH OTH OTH HEAD HEAD HEAD HEAD HEAD HEAD HEAD HEAD REL REL TAIL TAIL TAIL TAIL TAIL TAIL TAIL OTH OTH OTH OTH OTH OTH OTH