Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
yaOoo830 opened this issue Nov 4, 2024 · 0 comments
Open

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

yaOoo830 opened this issue Nov 4, 2024 · 0 comments

Comments

@yaOoo830
Copy link

yaOoo830 commented Nov 4, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant