129 unsigned int bufEntry, logicalSliceAddr;
225 assert(!
"[WARNING] There is no valid buffer entry [WARNING]");
321 unsigned int hashEntry;
353 unsigned int prevBufEntry, nextBufEntry, hashEntry;
void UpdateTempDataBufEntryInfoBlockingReq(unsigned int bufEntry, unsigned int reqSlotTag)
Append the request to the blocking queue specified by given temp buffer entry.
void PutToDataBufHashList(unsigned int bufEntry)
Insert the given data buffer entry into the hash table.
void UpdateDataBufEntryInfoBlockingReq(unsigned int bufEntry, unsigned int reqSlotTag)
Append the request to the blocking queue of the specified data buffer entry.
void InitDataBuf()
Initialization process of the Data buffer.
unsigned int AllocateTempDataBuf(unsigned int dieNo)
Retrieve the index of temp buffer entry of the target die.
P_DATA_BUF_HASH_TABLE dataBufHashTablePtr
void SelectiveGetFromDataBufHashList(unsigned int bufEntry)
Remove the given data buffer entry from the hash table.
P_TEMPORARY_DATA_BUF_MAP tempDataBufMapPtr
unsigned int CheckDataBufHit(unsigned int reqSlotTag)
Get the data buffer entry index of the given request.
P_DATA_BUF_MAP dataBufMapPtr
DATA_BUF_LRU_LIST dataBufLruList
unsigned int AllocateDataBuf()
Retrieve a LRU data buffer entry from the LRU list.
struct _DATA_BUF_HASH_TABLE * P_DATA_BUF_HASH_TABLE
struct _DATA_BUF_MAP * P_DATA_BUF_MAP
#define AVAILABLE_DATA_BUFFER_ENTRY_COUNT
#define FindDataBufHashTableEntry(logicalSliceAddr)
struct _TEMPORARY_DATA_BUF_MAP * P_TEMPORARY_DATA_BUF_MAP
#define AVAILABLE_TEMPORARY_DATA_BUFFER_ENTRY_COUNT
#define TEMPORARY_DATA_BUFFER_MAP_ADDR
#define DATA_BUFFFER_HASH_TABLE_ADDR
#define DATA_BUFFER_MAP_ADDR
#define REQ_SLOT_TAG_NONE
unsigned int hashNextEntry
unsigned int hashPrevEntry
unsigned int blockingReqTail
unsigned int logicalSliceAddr
The structure of data buffer hash table.
DATA_BUF_HASH_ENTRY dataBufHash[AVAILABLE_DATA_BUFFER_ENTRY_COUNT]
The structure of LRU list that records the head and tail data buffer entry index of the LRU list.
The structure of data buffer table.
DATA_BUF_ENTRY dataBuf[AVAILABLE_DATA_BUFFER_ENTRY_COUNT]
SSD_REQ_FORMAT reqPool[AVAILABLE_OUNTSTANDING_REQ_COUNT]
unsigned int blockingReqTail
The structure of the temp data buffer table.
TEMPORARY_DATA_BUF_ENTRY tempDataBuf[AVAILABLE_TEMPORARY_DATA_BUFFER_ENTRY_COUNT]