Re: [PATCH v3] virtio_blk: add VIRTIO_BLK_F_LIFETIME feature support

Enrico Granata
2022-12-05T20:35:55Z

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@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@google.com>
>
> Cc Enrico Granata as well.
>
>
> > --
> > Jens Axboe
> >
>