Go to the documentation of this file.
46 #ifndef __HETERO_MEM_CTRL_HH__
47 #define __HETERO_MEM_CTRL_HH__
50 #include "params/HeteroMemCtrl.hh"
99 bool& retry_rd_req)
override;
143 #endif //__HETERO_MEM_CTRL_HH__
Tick minWriteToReadDataGap() override
Calculate the minimum delay used when scheduling a write-to-read transision.
virtual void processRespondEvent(MemInterface *mem_intr, MemPacketQueue &queue, EventFunctionWrapper &resp_event, bool &retry_rd_req) override
Interface to NVM devices with media specific parameters, statistics, and functions.
virtual void nonDetermReads(MemInterface *mem_intr) override
Will access nvm memory interface and select non-deterministic reads to issue.
The memory controller is a single-channel memory controller capturing the most important timing const...
DrainState drain() override
Draining is the process of clearing out the states of SimObjects.These are the SimObjects that are pa...
Tick doBurstAccess(MemPacket *mem_pkt, MemInterface *mem_int) override
Actually do the burst based on media specific access function.
virtual bool pktSizeCheck(MemPacket *mem_pkt, MemInterface *mem_intr) const override
Check if mem pkt's size is sane.
bool allIntfDrained() const override
Ensure that all interfaced have drained commands.
virtual bool nvmWriteBlock(MemInterface *mem_intr) override
Will check if all writes are for nvm interface and nvm's write resp queue is full.
DrainState
Object drain/handover states.
void recvFunctional(PacketPtr pkt) override
General interface to memory device Includes functions and parameters shared across media types.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
uint64_t Tick
Tick count type.
A memory packet stores packets along with the timestamp of when the packet entered the queue,...
virtual std::pair< MemPacketQueue::iterator, Tick > chooseNextFRFCFS(MemPacketQueue &queue, Tick extra_col_delay, MemInterface *mem_intr) override
MemPacketQueue::iterator chooseNext(MemPacketQueue &queue, Tick extra_col_delay, MemInterface *mem_int) override
bool recvTimingReq(PacketPtr pkt) override
AddrRangeList getAddrRanges() override
HeteroMemCtrl(const HeteroMemCtrlParams &p)
Tick recvAtomic(PacketPtr pkt) override
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Tick minReadToWriteDataGap() override
Calculate the minimum delay used when scheduling a read-to-write transision.
virtual Addr burstAlign(Addr addr, MemInterface *mem_intr) const override
Burst-align an address.
void drainResume() override
Resume execution after a successful drain.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
NVMInterface * nvm
Create pointer to interface of the actual nvm media when connected.
virtual bool memBusy(MemInterface *mem_intr) override
Checks if the memory interface is already busy.
Generated on Thu Jun 16 2022 10:41:56 for gem5 by doxygen 1.8.17