Skip to content

How many write pointers are there in zns mode? #157

@yaOoo830

Description

@yaOoo830

Hi,i have some questions about zns mode.
I noticed in zns.c, every zone (structure NvmeZone) has its own writepointer: zone->w_ptr

static uint16_t zns_nvme_rw(FemuCtrl *n, NvmeNamespace *ns, NvmeCmd *cmd,

but there is no delay emulation in any operation.
in zftl.c,there is another function of advancing wp :zns_advance_write_pointer, and delay emulation is in zftl.c,
static void zns_advance_write_pointer(struct zns_ssd *zns)

but it seems like there is only one wp of whole ssd.
it seems like the granularity of mapping table is page, but one of the contributions of zns is its coarse-grained mapping table,is this reasonable?
static inline struct ppa get_maptbl_ent(struct zns_ssd *zns, uint64_t lpn)

In summary,my questions are as follows:
1.why not emulate delay in zns.c but in zftl.c?
2. why there is only one wp in zftl.c?
3. is page-level mapping table reasonable?
Looking forward to your reply,thanks! @huaicheng

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions