0% found this document useful (0 votes)
105 views14 pages

SFF 8447

This document defines a standard method for calculating the logical block address (LBA) count for advertised capacities of disk drives. It addresses factors like logical block size, adjustments for protection information, and ensuring integer multiples for high capacities. Formulas are provided for calculating LBA counts from advertised capacity for both low and high capacity drives.

Uploaded by

Alan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
105 views14 pages

SFF 8447

This document defines a standard method for calculating the logical block address (LBA) count for advertised capacities of disk drives. It addresses factors like logical block size, adjustments for protection information, and ensuring integer multiples for high capacities. Formulas are provided for calculating LBA counts from advertised capacity for both low and high capacity drives.

Uploaded by

Alan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Published SFF-8447 Rev 0.

SFF Committee documentation may be purchased in electronic form.


SFF specifications are available at ftp://ftp.seagate.com/sff

SFF Committee

SFF-8447

Specification for

LBA Count for Disk Drives

Rev 0.5 May 14, 2015

Secretariat: SFF Committee

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 provides a common reference for systems manufacturers, system


integrators, and suppliers. This is an internal working specification of the SFF
Committee, an industry ad hoc group.

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.

Support: This specification is supported by the identified member companies of the


SFF Committee.

POINTS OF CONTACT:

Alvin Cox I. Dal Allan


Seagate Technology, LLC Chairman SFF Committee
10321 West Reno Avenue 14426 Black Walnut Court
Oklahoma City OK 73157 Saratoga CA 95070
Ph: 405-206-4809 Ph: 408-867-6630
alvin dot cox at seagate dot com endlcom at acm dot org

LBA Count for Disk Drives Page 1


Published SFF-8447 Rev 0.5

EXPRESSION OF SUPPORT BY MANUFACTURERS

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

LBA Count for Disk Drives Page 2


Published SFF-8447 Rev 0.5

Update History

Rev 0.1 May 7, 2014


- Initial release

Rev 0.2 July 9, 2014


- Complete rewrite to support zoned configurations. Changes not tracked.

Rev 0.3 July 30, 2014


- Minor editorial updates. No changes to technical content of determining LBA count
for large capacity drives.
- Added formulas for low capacity disk drives equivalent to IDEMA LBA1-03 (logical
block sizes of 512 and 4096 bytes).
- Editorial changes to consistently use LBA count and not logical block count.
- Editorial changes to define additional user payload as SCSI Protection
Information.

Rev 0.4 October 23, 2014


- Updated definitions of ceiling and floor.
- Added requirements regarding labeling if a low capacity drive doesn’t meet the
IDEMA formula block count.
- Changed cut in point to >8 000 GB regardless of form factor.

Rev 0.5 May 14, 2015


- Clarified in 1.1 and 4.3 that sample calculations do not describe product
offerings.

LBA Count for Disk Drives Page 3


Published SFF-8447 Rev 0.5

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

Suggestions for improvement of this specification will be welcome. They should be


sent to the SFF Committee, 14426 Black Walnut Ct, Saratoga, CA 95070.

LBA Count for Disk Drives Page 4


Published SFF-8447 Rev 0.5

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

4. LBA Counts from Advertised Capacity 10


4.1 LBA Counts from Advertised Capacity for Low Capacity Disk Drives 10
4.1.1 LBA Counts from Advertised Capacity for 512 Low Capacity Disk Drives 10
4.1.2 LBA Counts from Advertised Capacity for 4096 Low Capacity Disk Drives10
4.2 LBA Counts from Advertised Capacity for High Capacity Disk Drives 10
4.2.1 LBA Counts from Advertised Capacity for 5xx High Capacity Disk Drives10
4.2.2 LBA Counts from Advertised Capacity for 4xxx High Capacity Disk Drives11
4.3 Sample calculations 11

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

LBA Count for Disk Drives Page 5


Published SFF-8447 Rev 0.5

SFF Committee --

LBA Count for Disk Drives

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.

1.1 Disk Drive Capacities Applicable to This Specification


This specification applies to 3.5" form factor (see SFF-8300) 160 GB and greater
and 2.5" form factor (see SFF-8200) 80 GB and greater disk drives. The sample
calculations include drive capacities above those known at the time of publication,
and do not represent anticipated product offerings. The sample tables are for
illustrative purposes, and provide a means to verify that the results of algorithms
used by an implementor correspond to this specification.

2. References

2.1 Industry Documents


The following interface standards are relevant to this SFF Specifications:

- CEI IEC 60027-2 Letter symbols to be used in electrical technology - Part 2:


Telecommunications and electronics
- IDEMA Document LBA1-03, LBA Count for Disk Drives Standard
- SATA-IO Serial ATA revision 3.2
- BSR Number: INCITS 505 SAS Protocol Layer-2 (SPL-2)
- BSR Number: INCITS 492 SAS Protocol Layer-3 (SPL-3)
- BSR Number: INCITS 514 SCSI Block Commands - 3 (SBC-3)
- BSR Number: INCITS 503 SCSI Block Commands - 4 (SBC-4)
- BSR Number: INCITS 513 SCSI Primary Commands - 4 (SPC-4)
- BSR Number: INCITS 502 SCSI Primary Commands - 5 (SPC-5)
- BSR Number: INCITS 536 Zoned Block Commands (ZBC)
- BSR Number: INCITS 537 Zoned-device ATA Commands (ZAC)
- ANSI INCITS 482-2012, Information technology - AT Attachment-8 ATA/ATAPI Command
Set (ATA8-ACS)
- SFF-8200 2.5" Form Factor Drives (all of 82xx family) aka EIA-720
- SFF-8300 3.5" Form Factor Drives (all of 83xx family) aka EIA-740
2.2 SFF Specifications
There are several projects active within the SFF Committee. The complete list of
specifications which have been completed or are still being worked on are listed in
the specification at ftp://ftp.seagate.com/sff/SFF-8000.TXT

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.

LBA Count for Disk Drives Page 6


Published SFF-8447 Rev 0.5

American French ISO


0.6 0,6 0.6
1,000 1 000 1 000
1,323,462.9 1 323 462,9 1 323 462.9

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.

advertised capacity: a number of bytes used to describe the capacity of a disk


drive expressed in IEC 60027-2 units (e.g., 250 GB (250 000 000 000 bytes), or 3 TB
(3 000 000 000 000 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.

GB: Gigabyte (i.e., 10^9 bytes). See IEC 60027-2.

GiB: Gibibyte (i.e., 2^30 bytes). See IEC 60027-2.

logical block address (LBA): a value used to reference a logical block.

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).

LBA Count for Disk Drives Page 7


Published SFF-8447 Rev 0.5

TB: Terabyte (i.e., 10^12 bytes). See IEC 60027-2.

LBA Count for Disk Drives Page 8


Published SFF-8447 Rev 0.5

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.

The following logical block sizes are supported:

Low capacity disk drives:


- 512 bytes
- 4 096 bytes

High capacity disk drives:


- 512 bytes
- 520 bytes
- 524 bytes
- 528 bytes
- 4 096 bytes
- 4 160 bytes
- 4 192 bytes
- 4 224 bytes

The size of SCSI Protection Information is defining by the following:


a) For ATA devices: SCSI Protection Information size = 0 bytes.
b) For SCSI devices with Protection Information Type 0: SCSI Protection
Information size = 0 bytes.
c) For SCSI devices with SCSI Protection Information Type 1, 2 or 3: SCSI
Protection Information size = 8 bytes.

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.

Informational: Drive capacity is an integer multiple of 1 GiB for the nominal


logical block sizes of 512 and 4096 bytes with SCSI Protection Information size of
zero bytes.

LBA Count for Disk Drives Page 9


Published SFF-8447 Rev 0.5

4. LBA Counts from Advertised Capacity

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).

This formula may also be expressed as:

LBA count = ceiling((0.001 953 504 * advertised capacity) + 21 168, 8)

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.

This formula may also be expressed as:

LBA count = ceiling((0.000 244 188 * advertised capacity) + 2 646, 1)

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:

LBA count = ceiling(advertised capacity/512, 2^21)

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:

LBA count = floor(ceiling(advertised capacity/512, 2^21) * (512 /


(logical block size + PI size)) * fit adjustment factor, 2^21)

LBA Count for Disk Drives Page 10


Published SFF-8447 Rev 0.5

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:

LBA count = ceiling(advertised capacity/4 096, 2^18)

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:

LBA count = floor(ceiling(advertised capacity/4 096, 2^18) * (4096 /


(logical block size + PI size)) * fit adjustment factor, 2^18)
4.3 Sample calculations
The sample calculations are provided as a means of verification for calculation
tools (e.g. spreadsheets or code) that may be used by an implementor. The
illustrative capacities in the tables below may not reflect actual products or
planned product offerings.

LBA counts for an advertised capacity of 10 TB are shown in Table 4-1.

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 Count for Disk Drives Page 11


Published SFF-8447 Rev 0.5

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

LBA Count for Disk Drives Page 12


Published SFF-8447 Rev 0.5

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.

function LBACount(HighCapacity, AdvertisedCapacity, LogicalBlockSize, PISize)


// This function returns the LBA count for the specified
// - capacity type (low or high capacity)
// - advertised capacity in bytes
// - logical block size in bytes
// - SCSI Protection Information size in bytes
// The advertised capacity and logical block size shall be positive.
// The SCSI Protection Information size shall be non-negative.

assert (PISize == 0) or (PISize == 8)

if HighCapacity
FitAdjustmentFactor = 0.995
FourxxxGranularity = 2^18 // units are logical blocks

// Determine which range the logical block size is in


// and set the granularity.
if LogicalBlockSize < 4096
Granularity = 8 * FourxxxGranularity
else
Granularity = FourxxxGranularity

// Calculate the LBA count for 4096-byte logical blocks


// with PI size of zero bytes.
LBACount = ceiling(AdvertisedCapacity / 4096, FourxxxGranularity)

// 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

// Adjust downward to be integer multiple of the granularity.


LBACount = floor(LBACount, Granularity)
else
assert (LogicalBlockSize == 512) or (LogicalBlockSize == 4096)

LBACount = ((1.000194048 * AdvertisedCapacity) + 10838016) / LogicalBlockSize

// Adjust the LBA count to the correct integer multiple.


if LogicalBlockSize < 4096
LBACount = ceiling(LBACount, 8)
else
LBACount = ceiling(LBACount, 1)

return LBACount
end function

LBA Count for Disk Drives Page 13


Published SFF-8447 Rev 0.5

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.

LBA Count for Disk Drives Page 14

You might also like