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