SFF 8447
SFF 8447
SFF Committee
SFF-8447
Specification for
Abstract: This specification defines the logical block address (LBA) count for
advertised capacities of 3.5" form factor (see SFF-8300) and 2.5" form factor (see
SFF-8200) disk drives.
This specification defines the methods of calculating the number of LBAs from the
advertised capacity. The calculations method in this specification address multiple
aspects in determining the number of LBAs for a disk drive. These include:
- advertised capacity;
- common logical block sizes;
- adjustments for SCSI Protection Information (PI);
- a factor to allow for inefficiencies in fitting the logical block configuration
to the media for high capacity disk drives;
- adjustments to achieve an integer multiple of 8 LBAs for 5xx disk drives to
support 4xxx physical sectors; and
- adjustments to achieve an integer multiple of 1 GiB, nominal, for high capacity
disk drives to support zoned block devices.
This specification defines the method of calculating the standard LBA count for an
advertised capacity by defining formulas that take the advertised capacity, logical
block size, and inclusion of SCSI Protection Information as independent input
parameters.
This specification is made available for public review, and written comments are
solicited from readers. Comments received by the members will be considered for
inclusion in future revisions of this specification.
POINTS OF CONTACT:
The following member companies of the SFF Committee voted in favor of this industry
specification.
All Best
Dell Computer
EMC
Hewlett Packard
HGST
IBM
NetApp
Sandisk
Seagate
Shenzhen
Toshiba
Volex
Western Digital
The following member companies of the SFF Committee voted to abstain on this
industry specification.
AMI
Amphenol
Applied Micro
Avago
Broadcom
FCI
Finisar
Foxconn
JDS Uniphase
Jess-Link
Luxshare-ICT
Molex
QLogic
Sumitomo
TE Connectivity
Update History
Foreword
The development work on this specification was done by the SFF Committee, an
industry group. The membership of the committee since its formation in August 1990
has included a mix of companies which are leaders across the industry.
When 2 1/2" diameter disk drives were introduced, there was no commonality on
external dimensions e.g. physical size, mounting locations, connector type,
connector location, between vendors.
The first use of these disk drives was in specific applications such as laptop
portable computers and system integrators worked individually with vendors to
develop the packaging. The result was wide diversity, and incompatibility.
The problems faced by integrators, device suppliers, and component suppliers led to
the formation of the SFF Committee as an industry ad hoc group to address the
marketing and engineering considerations of the emerging new technology.
During the development of the form factor definitions, other activities were
suggested because participants in the SFF Committee faced more problems than the
physical form factors of disk drives. In November 1992, the charter was expanded to
address any issues of general interest and concern to the storage industry. The SFF
Committee became a forum for resolving industry issues that are either not
addressed by the standards process or need an immediate solution.
Those companies which have agreed to support a specification are identified in the
first pages of each SFF Specification. Industry consensus is not an essential
requirement to publish an SFF Specification because it is recognized that in an
emerging product area, there is room for more than one approach. By making the
documentation on competing proposals available, an integrator can examine the
alternatives available and select the product that is felt to be most suitable.
SFF Committee meetings are held during T10 weeks (see www.t10.org), and Specific
Subject Working Groups are held at the convenience of the participants. Material
presented at SFF Committee meetings becomes public domain, and there are no
restrictions on the open mailing of material presented at committee meetings.
Most of the specifications developed by the SFF Committee have either been
incorporated into standards or adopted as standards by EIA (Electronic Industries
Association), ANSI (American National Standards Institute) and IEC (International
Electrotechnical Commission).
If you are interested in participating or wish to follow the activities of the SFF
Committee, the signup for membership and/or documentation can be found at:
www.sffcommittee.com/ie/join.html
The complete list of SFF Specifications which have been completed or are currently
being worked on by the SFF Committee can be found at:
ftp://ftp.seagate.com/sff/SFF-8000.TXT
If you wish to know more about the SFF Committee, the principles which guide the
activities can be found at:
ftp://ftp.seagate.com/sff/SFF-8032.TXT
TABLE OF CONTENTS
1. Scope 6
1.1 Disk Drive Capacities Applicable to This Specification 6
2. References 6
2.1 Industry Documents 6
2.2 SFF Specifications 6
2.3 Sources 6
2.4 Conventions 6
2.5 Definitions 7
3. General Description 9
5. Example Pseudo Code for Calculating LBA Count from Advertised Capacity 13
6. Example Formula Using Microsoft Excel Syntax for Calculating LBA Count from
Advertised Capacity 14
TABLES
Table 4-1 LBA counts for disk drives with an advertised capacity of 10 TB 11
Table 4-2 LBA counts for disk drives with logical block size of 512 bytes and SCSI
Protection Information size of 0 bytes 12
SFF Committee --
1. Scope
This specification defines the method for determining the number of logical block
addresses (LBAs) a disk drive shall have based on the advertised capacity, logical
block size, and, if present, the SCSI Protection Information type of the drive.
2. References
2.3 Sources
Those who join the SFF Committee as an Observer or Member receive electronic copies
of the minutes and SFF specifications (http://www.sffcommittee.com/ie/join.html).
Copies of ANSI standards may be purchased from the InterNational Committee for
Information Technology Standards (http://www.techstreet.com/incitsgate.tmpl).
2.4 Conventions
The ISO convention of numbering is used i.e., the thousands and higher multiples
are separated by a space and a period is used as the decimal point. This is
equivalent to the English/American convention of a comma and a period.
The example code uses no separator for numbers larger than 999 or for decimals with
greater than three places.
The caret character (^) is used as a surrogate symbol for superscript and
exponentiation (e.g., b^n for b raised to the n-th power).
2.5 Definitions
For the purpose of SFF Specifications, the following definitions apply:
4xxx: a reference to logical block sizes of 4 096, 4 160, 4 192, or 4 224 bytes.
5xx: a reference to logical block sizes of 512, 520, 524, or 528 bytes.
ceiling: a function with two operands. If the first operand is an integer multiple
of the second then the function returns the value of the first operand; otherwise,
the function returns the first integer multiple of the second operand which is
higher than the first operand. That is, ceiling(x,y) resolves to x rounded up to
the nearest multiple of y.
floor: a function with two operands. If the first operand is an integer multiple of
the second then the function returns the value of the first operand; otherwise, the
function returns the first integer multiple of the second operand which is lower
than the first operand. That is, floor(x,y) resolves to x rounded down to the
nearest multiple of y.
logical block size: the number of bytes in a logical block that are user data and
is neither SCSI Protection Information nor other information that may not be
accessible to the application client.
low capacity disk drive: a disk drive with an advertised capacity of 160 GB to 8
000 GB for a 3.5" form factor (see SFF-8300) device or a disk drive with an
advertised capacity of 80 GB to 8 000 GB for a 2.5" form factor (see SFF-8200)
device.
high capacity disk drive: a disk drive with an advertised capacity of greater than
8 000 GB for a 3.5" form factor (see SFF-8300) device or a 2.5" form factor (see
SFF-8200) device.
SCSI Protection Information (PI): a group of fields at the end of each logical
block that contains a logical block guard, an application tag, and a reference tag
(see SBC-4).
3. General Description
For interchangeability of storage devices in some systems, the advertised capacity
of the storage device needs to be associated with the same LBA count for products
from different suppliers. This specification defines the standard method for
determining the LBA count for disk drives. This specification defines the functions
to calculate the LBA count using the advertised capacity, logical block size, and
inclusion of SCSI Protection Information.
A fit adjustment factor is used for high capacity disk drives when the block size
is not equal to:
512 bytes with zero bytes of SCSI Protection Information; or
4 096 bytes with zero bytes of SCSI Protection Information.
The fit adjustment factor is a constant value:
fit adjustment factor = 0.995
The number of LBAs is an integer multiple of 8 for 512 byte block size low capacity
disk drives to maximize the value of devices with physical sectors that each
accommodate 8 logical blocks.
The high capacity disk drive number of LBAs is an integer multiple of 2^21 for 5xx
and 2^18 for 4xxx to maximize the value to common space allocation methods such as
power-of-two block groups in ext and other file systems, and for shingled magnetic
recording (SMR) with Host Aware and Host Managed methodology. These are two
examples where fractional capacity between useful granularity points has no value.
This granularity provides support for Zoned-device ATA Commands (ZAC) and SCSI
zoned block commands (ZBC). The LBA count granularity is a constant.
4.1 LBA Counts from Advertised Capacity for Low Capacity Disk Drives
4.1.1 LBA Counts from Advertised Capacity for 512 Low Capacity Disk Drives
For low capacity disk drives with logical block size of 512 bytes with or without
PI, the following formula shall apply:
LBA count = (97 696 368) + (1 953 504 x (advertised capacity in GB - 50))
Where:
a. 97 696 368, 1 953 504, and 50 are constants; and
b. the lower three digits of the LBA count is divisible by 8 with a remainder of
0 (rounded up if necessary).
The drive label should include an indication if the Low capacity disk drive does
not support the defined LBA count.
4.1.2 LBA Counts from Advertised Capacity for 4096 Low Capacity Disk Drives
For low capacity disk drives with logical block size of 4 096 bytes with or without
PI, the following formula shall apply:
LBA count = (12 212 046) + (244 188 x (advertised capacity in GB - 50))
Where:
12 212 046, 244 188, and 50 are constants.
The drive label should include an indication if the Low capacity disk drive does
not support the defined LBA count.
4.2 LBA Counts from Advertised Capacity for High Capacity Disk Drives
4.2.1 LBA Counts from Advertised Capacity for 5xx High Capacity Disk Drives
For high capacity disk drives with logical block size of 512, 520, 524 and 528
bytes the following formulas shall apply:
For logical block size of 512 bytes with SCSI Protection Information size of zero
bytes, the following formula applies:
For logical block size of 512 bytes with SCSI Protection Information size of eight
bytes, and logical block sizes of 520, 524, and 528 bytes, the following formula
shall apply:
4.2.2 LBA Counts from Advertised Capacity for 4xxx High Capacity Disk Drives
For high capacity disk drives with logical block sizes of 4 096, 4 160, 4 192, and
4 224 bytes the following formulas shall apply:
For logical block size of 4 096 bytes with SCSI Protection Information size of zero
bytes, the following formula shall apply:
For logical block size of 4 096 bytes with SCSI Protection Information size of
eight bytes, and logical block sizes of 4 160, 4 192, and 4 224 bytes, the
following formula shall apply:
TABLE 4-1 LBA COUNTS FOR DISK DRIVES WITH AN ADVERTISED CAPACITY OF 10 TB
Logical block size PI size LBA count
512 bytes 0 bytes 19 532 873 728
512 bytes 8 bytes 19 134 414 848
520 bytes 0 bytes 19 134 414 848
520 bytes 8 bytes 18 845 007 872
524 bytes 0 bytes 18 989 711 360
524 bytes 8 bytes 18 704 498 688
528 bytes 0 bytes 18 845 007 872
528 bytes 8 bytes 18 563 989 504
4 096 bytes 0 bytes 2 441 609 216
4 096 bytes 8 bytes 2 424 569 856
4 160 bytes 0 bytes 2 391 801 856
4 160 bytes 8 bytes 2 387 345 408
4 192 bytes 0 bytes 2 373 713 920
4 192 bytes 8 bytes 2 368 995 328
4 224 bytes 0 bytes 2 355 625 984
4 224 bytes 8 bytes 2 351 169 536
LBA counts for disk drives with logical block size of 512 bytes and SCSI Protection
Information size of 0 bytes are shown in Table 4-2.
TABLE 4-2 LBA COUNTS FOR DISK DRIVES WITH LOGICAL BLOCK SIZE OF 512 BYTES AND
SCSI PROTECTION INFORMATION SIZE OF 0 BYTES
Advertised capacity Capacity type LBA count
80 GB Low capacity disk drive 156 301 488
160 GB Low capacity disk drive 312 581 808
320 GB Low capacity disk drive 625 142 448
500 GB Low capacity disk drive 976 773 168
1 TB Low capacity disk drive 1 953 525 168
2 TB Low capacity disk drive 3 907 029 168
4 TB Low capacity disk drive 7 814 037 168
6 TB Low capacity disk drive 11 721 045 168
8 TB Low capacity disk drive 15 628 053 168
10 TB High capacity disk drive 19 532 873 728
12 TB High capacity disk drive 23 437 770 752
15 TB High capacity disk drive 29 297 213 440
5. Example Pseudo Code for Calculating LBA Count from Advertised Capacity
The following pseudo code may be used to calculate the LBA count from advertised
capacity. This code is provided for reference only. Refer to Section 4 for
normative requirements.
if HighCapacity
FitAdjustmentFactor = 0.995
FourxxxGranularity = 2^18 // units are logical blocks
// Adjust for the specific logical block payload of logical block size
// and PI size.
LBACount = LBACount * 4096 / (LogicalBlockSize + PISize)
// Apply the fit adjustment factor for all but 512 and 4096
// with PI size of zero bytes.
if (PISize > 0) or ((LogicalBlockSize != 512) and (LogicalBlockSize != 4096))
LBACount = LBACount * FitAdjustmentFactor
return LBACount
end function
6. Example Formula Using Microsoft Excel Syntax for Calculating LBA Count from
Advertised Capacity
The following formula using Microsoft Excel syntax may be used to calculate the LBA
count from advertised capacity. This formula returns a #DIV/0! error if PISize is
invalid, or if HighCapacity is false and LogicalBlockSize is invalid for a low
capacity disk drive. This code is provided for reference only. Refer to Section 4
for normative requirements.
=IF(
OR(PISize=0, PISize=8),
IF(HighCapacity,
FLOOR(CEILING(AdvertisedCapacity/4096, 2^18)*4096/(LogicalBlockSize+PISize)*
IF(PISize>0, FitAdjustmentFactor,
IF(OR(LogicalBlockSize=512, LogicalBlockSize=4096), 1,
FitAdjustmentFactor)),
IF(LogicalBlockSize<4096, 2^21, 2^18)),
IF(OR(LogicalBlockSize=512, LogicalBlockSize=4096),
CEILING(((1.000194048*AdvertisedCapacity)+10838016)/LogicalBlockSize,
IF(LogicalBlockSize<4096, 8, 1)),
1/0)),
1/0)
Where:
- HighCapacity, AdvertisedCapacity, LogicalBlockSize, PISize and
FitAdjustmentFactor are to be resolved by named cells, or replaced by values,
expressions or cell references.
- HighCapacity evaluates to either TRUE or FALSE.
- AdvertisedCapacity, LogicalBlockSize, and PISize are in units of bytes.