[PATCH v3] virtio_blk: add VIRTIO_BLK_F_LIFETIME feature support

Enrico Granata egranata at google.com
Mon Dec 5 12:35:28 PST 2022


The original definitions for these fields come from JESD84-B50, which
is what eMMC storage uses. It has been a while, but I recall UFS doing
something pretty similar.
Systems that don't have a well defined notion of durability would just
not expose the flag (e.g. a spinning disk), and going for what
eMMC/UFS expose already would make implementations fairly seamless for
a lot of common embedded scenarios.

Of course, if you see room for improvement to the spec, I'd be very
interested in hearing your thoughts

Thanks,
- Enrico

Thanks,
- Enrico


On Mon, Dec 5, 2022 at 1:29 PM Michael S. Tsirkin <mst at redhat.com> wrote:
>
> On Mon, Dec 05, 2022 at 11:53:51AM -0700, Jens Axboe wrote:
> > On 12/5/22 11:36 AM, Alvaro Karsz wrote:
> > > Hi,
> > >
> > >> Is this based on some spec? Because it looks pretty odd to me. There
> > >> can be a pretty wide range of two/three/etc level cells with wildly
> > >> different ranges of durability. And there's really not a lot of slc
> > >> for generic devices these days, if any.
> > >
> > > Yes, this is based on the virtio spec
> > > https://docs.oasis-open.org/virtio/virtio/v1.2/csd01/virtio-v1.2-csd01.html
> > > section  5.2.6
> >
> > And where did this come from?
>
>
> Here's the commit log from the spec:
>         In many embedded systems, virtio-blk implementations are
>         backed by eMMC or UFS storage devices, which are subject to
>         predictable and measurable wear over time due to repeated write
>         cycles.
>
>         For such systems, it can be important to be able to track
>         accurately the amount of wear imposed on the storage over
>         time and surface it to applications. In a native deployments
>         this is generally handled by the physical block device driver
>         but no such provision is made in virtio-blk to expose these
>         metrics for devices where it makes sense to do so.
>
>         This patch adds support to virtio-blk for lifetime and wear
>         metrics to be exposed to the guest when a deployment of
>         virtio-blk is done over compatible eMMC or UFS storage.
>
>         Signed-off-by: Enrico Granata <egranata at google.com>
>
> Cc Enrico Granata as well.
>
>
> > --
> > Jens Axboe
> >
>



More information about the Linux-nvme mailing list