zbc theory of operation

Ralph Weber Ralph.Weber at wdc.com
Tue Aug 5 11:49:01 PDT 2014


* From the T10 Reflector (t10 at t10.org), posted by:
* Ralph Weber <Ralph.Weber at wdc.com>
*
Looking at this as a "theory of operation" question, may provide some
insight.
The defined models for ZBC interactions are named:
+ Host Aware ...; and
+ Host Managed ...
These names are intended to convey a design in which the Host is an
participant in whatever theory of operation might apply to the device types
defined in ZBC.
In this regard, the ZBC operational theory lies in the vicinity of the
"Exposed SMR" model and the "Cooperatively Managed SMR" model described by
Tim Feldman and Garth Gibson in ;login volume for June 2013
(https://www.usenix.org/publications/login/june-2013-volume-38-number-3).
Taking a very small step away from this basic theory of ZBC operation one
finds the notion that the host is constantly aware of the organization of the
ZBC device. Achieving this awareness can be summarized as involving three
steps.
1) During the initialization of interactions with the device, the host
obtains a local copy of the complete map of the device's organization using
the REPORT ZONES command.
2) As changes in the status of zones arise, the device notifies the host that
the organization map local copy may need to be updated.
3) The host responds to such notifications with appropriately constructed
REPORT ZONES commands.
In this interface, the presence of a Starting LBA field in the REPORT ZONES
command serves at least the following two purposes.
* It allows a smaller buffer size to be used during the initialization
process (see step 1), with repeated invocations of REPORT ZONES being used
until the complete organizational map has been constructed.
* It also allows a specific range of zones to be interrogated for status
updates in step 3).
Since the ZBC theory of operation assumes that the Host is always aware of
the complete organization map, the need to obtain information about a
specific single LBA should be satisfied completely within the Host. In this
way, no overhead (e.g., a command/response transaction between host and
device) is required to answer the postulated question.
All the best,
.Ralph
Disclaimer: The information presented above is my individual opinion. It may
or may not represent the opinions of my management and/or my employer.
________________________________________
From: owner-t10 at t10.org [owner-t10 at t10.org] on behalf of Hannes Reinecke
[hare at suse.de]
Sent: Tuesday, August 05, 2014 7:51 AM
To: t10 at t10.org
Subject: zbc theory of operation
* From the T10 Reflector (t10 at t10.org), posted by:
* Hannes Reinecke <hare at suse.de>
*
Hi all,
I know ZBC is still far from being final, but nevertheless I've got
some questions / issues which I've stumbled across recently.
The most crucial one is how to get the zone information for any
given LBA. Typically one would use the REPORT ZONES command to
retrieve the zone information for a given LBA.
However, zbc01 states that the REPORT ZONES will fail if the LBA is
_not_ the starting LBA of a zone.
Which means we have to have an a-priory knowledge of the zone
layout, ie we have to trawl through _all_ zone information before we
can use REPORT ZONES with a non-zero LBA.
But if we have to slurp in _all_ zones before we can use the REPORT
ZONES command in a meaningful manner it makes me wonder how it is
supposed to be used.
Plus slurping in all zones upon startup takes up quite some time;
I've measured several _minutes_ to retrieve the full zone information.
So how is the REPORT ZONES command to be used without a-priory
knowledge of the zone layout?
Life would be _so much_ easier if we could lift the restriction on
the REPORT ZONES command, so that it'll always return the zone
information the LBA is contained in.
Cheers,
Hannes
--
Dr. Hannes Reinecke		      zSeries & Storage
hare at suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org



More information about the T10 mailing list