The SCSI Format command has an option that can be set to use the P (Factory) and G (grown) list of defect.
The P list cannot be deleted by the command, only the G list can be ignored...
But you need to be able to send this command with the specific bits...
for exact cmd, look at :
Draft Standards and Technical Reports
one of the SCSI-3 Blocks Command (SBC) documents...
(extract of the sbc2 standard document:)
5.2.1 FORMAT UNIT command overview
The FORMAT UNIT command (see table 11) requests that the device server format the medium into
application client accessible logical blocks as specified in the number of blocks and block length values
received in the last mode parameter block descriptor (see 6.3.2) in a MODE SELECT command (see SPC-3).
In addition, the device server may certify the medium and create control structures for the management of the medium and defects. The degree that the medium is altered by this command is vendor-specific.
The simplest form of the FORMAT UNIT command (i.e., a FORMAT UNIT command with no parameter data)
accomplishes medium formatting with little application client control over defect management. The device
server implementation determines the degree of defect management that is to be performed. Additional forms
of this command increase the application client's control over defect management. The application client may
a) defect list(s) to be used;
c) that logical unit certification be enabled; and
d) exception handling in the event that defect lists are not accessible.
A format data (FMTDATA) bit set to zero specifies that no parameter list be transferred from the data-out buffer.
A FMTDATA bit set to one specifies that the FORMAT UNIT parameter list (see table 13) shall be transferred
from the data-out buffer. The parameter list consists of a parameter list header, followed by an optional
initialization pattern descriptor, followed by an optional defect list.
A complete list (CMPLST) bit set to zero specifies that the defect list included in the FORMAT UNIT parameter
list shall be used in an addition to the existing list of defects. As a result, the device server shall construct a
new GLIST (see 4.8) that contains:
a) the existing GLIST;
the DLIST, if it is sent by the application client; and
c) the CLIST, if certification is enabled (i.e., the device server may add any defects it detects during the
A CMPLST bit set to one specifies that the defect list included in the FORMAT UNIT parameter list is a complete list of defects. Any existing defect list except the PLIST shall be ignored by the device server. As a result, the device server shall construct a new GLIST (see 4.8) that contains:
a) the DLIST, if it is sent by the application client; and
the CLIST, if certification is enabled (i.e., the device server may add any defects it detects during the
If the FMTDATA bit is set to zero, the CMPLIST bit shall be ignored.
The DEFECT LIST FORMAT field specifies the format of the address descriptors in the defect list if the FMTDATA bit is set to one (see table 12)....