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