FEMU  原版 master 7e238cc
FEMU: Accurate, Scalable and Extensible NVMe SSD Emulator (FAST'18)
timing.h
浏览该文件的文档.
1 #ifndef __FEMU_TIMING_MODEL
2 #define __FEMU_TIMING_MODEL
3 
4 typedef struct FemuCtrl FemuCtrl;
5 
6 int64_t advance_channel_timestamp(FemuCtrl *n, int ch, uint64_t now, int opcode);
7 int64_t advance_chip_timestamp(FemuCtrl *n, int lunid, uint64_t now, int opcode,
8  uint8_t page_type);
9 void set_latency(FemuCtrl *n);
10 #endif
MLC_UPPER_PAGE_READ_LATENCY_NS
#define MLC_UPPER_PAGE_READ_LATENCY_NS
Definition: nand.h:20
FemuCtrl::chnl_locks
pthread_spinlock_t chnl_locks[FEMU_MAX_NUM_CHNLS]
Definition: nvme.h:1305
FemuCtrl::flash_type
uint8_t flash_type
Definition: nvme.h:1339
FemuCtrl::cupg_rd_lat_ns
int64_t cupg_rd_lat_ns
Definition: nvme.h:1310
FemuCtrl
femu相关控制参数和数据成员
Definition: nvme.h:1184
QLC
@ QLC
Definition: nand.h:87
advance_chip_timestamp
int64_t advance_chip_timestamp(FemuCtrl *n, int lunid, uint64_t now, int opcode, uint8_t page_type)
Definition: timing.c:72
FemuCtrl::chnl_pg_xfer_lat_ns
int64_t chnl_pg_xfer_lat_ns
Definition: nvme.h:1319
FemuCtrl::upg_wr_lat_ns
int64_t upg_wr_lat_ns
Definition: nvme.h:1313
QLC_CENTER_LOWER_PAGE_WRITE_LATENCY_NS
#define QLC_CENTER_LOWER_PAGE_WRITE_LATENCY_NS
Definition: nand.h:60
advance_chip_timestamp
int64_t advance_chip_timestamp(FemuCtrl *n, int lunid, uint64_t now, int opcode, uint8_t page_type)
Definition: timing.c:72
get_blk_erase_latency
static int64_t get_blk_erase_latency(int flash_type)
Definition: nand.h:152
FemuCtrl::chip_next_avail_time
volatile int64_t chip_next_avail_time[FEMU_MAX_NUM_CHIPS]
Definition: nvme.h:1302
get_page_read_latency
static int64_t get_page_read_latency(int flash_type, int page_type)
Definition: nand.h:142
FemuCtrl::lpg_rd_lat_ns
int64_t lpg_rd_lat_ns
Definition: nvme.h:1312
NVME_CMD_WRITE
@ NVME_CMD_WRITE
Definition: nvme.h:340
FemuCtrl::lpg_wr_lat_ns
int64_t lpg_wr_lat_ns
Definition: nvme.h:1317
TLC_UPPER_PAGE_WRITE_LATENCY_NS
#define TLC_UPPER_PAGE_WRITE_LATENCY_NS
Definition: nand.h:38
FemuCtrl::clpg_wr_lat_ns
int64_t clpg_wr_lat_ns
Definition: nvme.h:1316
NVME_CMD_OC_READ
@ NVME_CMD_OC_READ
Definition: nvme.h:351
QLC_UPPER_PAGE_WRITE_LATENCY_NS
#define QLC_UPPER_PAGE_WRITE_LATENCY_NS
Definition: nand.h:62
MLC_BLOCK_ERASE_LATENCY_NS
#define MLC_BLOCK_ERASE_LATENCY_NS
Definition: nand.h:24
QLC_LOWER_PAGE_READ_LATENCY_NS
#define QLC_LOWER_PAGE_READ_LATENCY_NS
Definition: nand.h:54
TLC_UPPER_PAGE_READ_LATENCY_NS
#define TLC_UPPER_PAGE_READ_LATENCY_NS
Definition: nand.h:34
NVME_CMD_OC_ERASE
@ NVME_CMD_OC_ERASE
Definition: nvme.h:349
TLC_CHNL_PAGE_TRANSFER_LATENCY_NS
#define TLC_CHNL_PAGE_TRANSFER_LATENCY_NS
Definition: nand.h:40
MLC_LOWER_PAGE_READ_LATENCY_NS
#define MLC_LOWER_PAGE_READ_LATENCY_NS
Definition: nand.h:19
QLC_BLOCK_ERASE_LATENCY_NS
#define QLC_BLOCK_ERASE_LATENCY_NS
Definition: nand.h:65
NVME_CMD_OC_WRITE
@ NVME_CMD_OC_WRITE
Definition: nvme.h:350
FemuCtrl::chip_locks
pthread_spinlock_t chip_locks[FEMU_MAX_NUM_CHIPS]
Definition: nvme.h:1303
QLC_CENTER_UPPER_PAGE_READ_LATENCY_NS
#define QLC_CENTER_UPPER_PAGE_READ_LATENCY_NS
Definition: nand.h:56
QLC_CHNL_PAGE_TRANSFER_LATENCY_NS
#define QLC_CHNL_PAGE_TRANSFER_LATENCY_NS
Definition: nand.h:64
QLC_UPPER_PAGE_READ_LATENCY_NS
#define QLC_UPPER_PAGE_READ_LATENCY_NS
Definition: nand.h:57
TLC_LOWER_PAGE_WRITE_LATENCY_NS
#define TLC_LOWER_PAGE_WRITE_LATENCY_NS
Definition: nand.h:36
MLC_LOWER_PAGE_WRITE_LATENCY_NS
#define MLC_LOWER_PAGE_WRITE_LATENCY_NS
Definition: nand.h:21
QLC_CENTER_LOWER_PAGE_READ_LATENCY_NS
#define QLC_CENTER_LOWER_PAGE_READ_LATENCY_NS
Definition: nand.h:55
set_latency
void set_latency(FemuCtrl *n)
Definition: timing.c:3
QLC_LOWER_PAGE_WRITE_LATENCY_NS
#define QLC_LOWER_PAGE_WRITE_LATENCY_NS
Definition: nand.h:59
MLC
@ MLC
Definition: nand.h:85
FemuCtrl::cpg_rd_lat_ns
int64_t cpg_rd_lat_ns
Definition: nvme.h:1309
get_page_write_latency
static int64_t get_page_write_latency(int flash_type, int page_type)
Definition: nand.h:147
FemuCtrl::upg_rd_lat_ns
int64_t upg_rd_lat_ns
Definition: nvme.h:1308
FemuCtrl::cpg_wr_lat_ns
int64_t cpg_wr_lat_ns
Definition: nvme.h:1314
advance_channel_timestamp
int64_t advance_channel_timestamp(FemuCtrl *n, int ch, uint64_t now, int opcode)
Definition: timing.c:38
advance_channel_timestamp
int64_t advance_channel_timestamp(FemuCtrl *n, int ch, uint64_t now, int opcode)
Definition: timing.c:38
TLC
@ TLC
Definition: nand.h:86
TLC_BLOCK_ERASE_LATENCY_NS
#define TLC_BLOCK_ERASE_LATENCY_NS
Definition: nand.h:41
FemuCtrl::chnl_next_avail_time
volatile int64_t chnl_next_avail_time[FEMU_MAX_NUM_CHNLS]
Definition: nvme.h:1304
TLC_LOWER_PAGE_READ_LATENCY_NS
#define TLC_LOWER_PAGE_READ_LATENCY_NS
Definition: nand.h:32
FemuCtrl::cupg_wr_lat_ns
int64_t cupg_wr_lat_ns
Definition: nvme.h:1315
MLC_CHNL_PAGE_TRANSFER_LATENCY_NS
#define MLC_CHNL_PAGE_TRANSFER_LATENCY_NS
Definition: nand.h:23
NVME_CMD_READ
@ NVME_CMD_READ
Definition: nvme.h:341
FemuCtrl::blk_er_lat_ns
int64_t blk_er_lat_ns
Definition: nvme.h:1318
MLC_UPPER_PAGE_WRITE_LATENCY_NS
#define MLC_UPPER_PAGE_WRITE_LATENCY_NS
Definition: nand.h:22
set_latency
void set_latency(FemuCtrl *n)
Definition: timing.c:3
QLC_CENTER_UPPER_PAGE_WRITE_LATENCY_NS
#define QLC_CENTER_UPPER_PAGE_WRITE_LATENCY_NS
Definition: nand.h:61
FemuCtrl::clpg_rd_lat_ns
int64_t clpg_rd_lat_ns
Definition: nvme.h:1311
TLC_CENTER_PAGE_READ_LATENCY_NS
#define TLC_CENTER_PAGE_READ_LATENCY_NS
Definition: nand.h:33
TLC_CENTER_PAGE_WRITE_LATENCY_NS
#define TLC_CENTER_PAGE_WRITE_LATENCY_NS
Definition: nand.h:37
femu_err
#define femu_err(fmt,...)
Definition: nvme.h:1511