《2073605865TRIM – DRATRZAT clarifications for ATA8ACS2.doc》由会员分享,可在线阅读,更多相关《2073605865TRIM – DRATRZAT clarifications for ATA8ACS2.doc(6页珍藏版)》请在三一办公上搜索。
1、TRIM DRAT / RZAT clarifications for ATA8-ACS2February 23, 2010Revision 2Technical Editor:Curtis E. Stevens20511 Lake Forest Dr.Lake Forest, Ca. 92630949-672-7933Curtis.StevensAuthor:Fred Knight7301 Kit Creek RdPO Box 13917Research Triangle Park, NC 27709919-476-5362Email: knightDocument StatusRevisi
2、on History (part of )RevDateDescription1December 14, 20091)Initial Revision2February 23, 20101) Incorporate comments from Feb Plenary meeting1 IntroductionClarification of interactions of TRIM with DRAT and RZAT was requested during letter ballot review.2 ScopeThis proposal introduces provides that
3、clarification.3 OverviewClarify the interactions of TRIM with DRAT and RZAT.TRIM bit Identify Device word 169 bit 0DRAT bit Identify Device word 69 bit 14RZAT bit Identify Device word 69 bit 54 Changes to ACS7.18.7.30 Word 69: Additional SupportedWord 69 shall indicate features/command sets supporte
4、d. If a defined bit is cleared to zero, the indicated features/command set is not supported. These features/command sets are enabled and there is no disable mechanism.If bit 15 of word 69 is set to one, then the device supports the CFast specification.If word 169 bit 0 is set to one and word 69 bit
5、14 is cleared to zero, then the Trim function of the DATA SET MANAGEMENT command (see 7.10.3.2) supports indeterminate read after trim behavior. If word 169 bit 0 is set to one and word 69 bit 14 is set to one, the Trim function of the DATA SET MANAGEMENT command supports determinate read after trim
6、 behavior. If word 169 bit 0 is cleared to zero, then word 69 bit 14 is reserved.If bit 13 of word 69 is set to one, then the device supports the SET FEATURES command with the Long Physical Sector Alignment Error Reporting Control subcommand (see 7.50.20).If bit12 of word 69 is set to one, then the
7、DEVICE CONFIGURATION IDENTIFY DMA and DEVICE CONFIGURATION SET DMA commands are supported.If bit 11 of word 69 is set to one, then the READ BUFFER DMA command is supported.If bit 10 of word 69 is set to one, then the WRITE BUFFER DMA command is supported.If bit 9 of word 69 is set to one, then the S
8、ET MAX SET PASSWORD DMA and SET MAX UNLOCK DMA commands are supported.If bit 8 of word 69 is set to one, then the DOWNLOAD MICROCODE DMA command is supported.Bit 7 is reserved for IEEE-1667Bit 6 of word 69 shall be cleared to zero if the following commands are supported:a) FLUSH CACHE;b) READ DMA;c)
9、 READ MULTIPLE;d) READ SECTOR(S);e) READ VERIFY SECTOR(S);f) SET MULTIPLE MODE;g) WRITE DMA;h) WRITE MULTIPLE; andi) WRITE SECTOR(S).Bit 6 of word 69 shall be set to one if any of the following commands are not supported:a) FLUSH CACHE;b) READ DMA;c) READ MULTIPLE;d) READ SECTOR(S);e) READ VERIFY SE
10、CTOR(S);f) SET MULTIPLE MODE;g) WRITE DMA;h) WRITE MULTIPLE; ori) WRITE SECTOR(S).If word 69 bit 14 is set to one and word 69 bit 5 is set to one, then a read operation after a Trim operation returns data from trimmed LBAs as all words cleared to zero. If word 69 bit 14 is set to one and word 69 bit
11、 5 is cleared to zero, then a read operation after a Trim operation may have words set to any value. If word 69 bit 14 is cleared to zero, then word 69 bit 5 is reserved.Bits (4:0) of word 69 are reserved.7.10 DATA SET MANAGEMENT 06h, DMA7.10.1 Feature SetThis 48-bit command is optional for ATA devi
12、ces.7.10.2 DescriptionThe DATA SET MANAGEMENT command provides information for device optimization (e.g., file system information).7.10.3 Inputs7.10.3.1 Overview7.10.3.2 TrimIf the Trim bit is set to one, then a trim operation is being requested on the data in the logical block ranges addressed by t
13、he DATA SET MANAGEMENT commands output data. Until a subsequent write command to a logical block that has been trimmed successfully completes, if the data from that logical block address is read, then the data is returned as described in table X.Table X shows the interactions of IDENTIFY DEVICE data
14、 word 169 bit 0, IDENTIFY DEVICE data word 69 bit 14, and IDENTIFY DEVICE data word 69 bit 5.Table X TRIM related interactionsWord 169 bit 0Word 69 bit 14Word 69 bit 5Description0ReservedReservedThe Trim function of the DATA SET MANAGEMENT command (see 7.10.3.2) is not supported. The data is unaffec
15、ted by this command.10ReservedThe Trim function of the DATA SET MANAGEMENT command (see 7.10.3.2) shall cause indeterminate read after trim behavior (1).110The Trim function of the DATA SET MANAGEMENT command (see 7.10.3.2) shall cause deterministic read after trim behavior (2) with words set to any
16、 value.111The Trim function of the DATA SET MANAGEMENT command (see 7.10.3.2) shall cause deterministic read after trim behavior (2) with words set to zero.Footnote 1: Indeterminate read after trim behavior: each read command to the logical block may return different data.Footnote 2: Determinate rea
17、d after trim behavior: after a read command has completed processing, the data in that logical block becomes determinate (i.e., all read commands to the logical block shall return the same data).The data read from an LBA that has been trimmed shall not be retrieved from data that was previously rece
18、ived from an application client addressed to any other LBA.Once a trimmed LBA has been written (e.g., a write command or a SECURITY ERASE UNIT command), the data in that logical block becomes determinate (i.e., the logical block contains the written data).Trim shall not add or remove LBAs from the N
19、V Cache Pinned Set.7.10.4 Normal OutputsSee table 111.7.10.5 Error OutputsIf trim is set to one and:a) the device detects an invalid LBA Range entry; orb) Count is greater than IDENTIFY DEVICE data word 105then the device shall return command aborted.A device may Trim one or more LBA Range Entries b
20、efore it returns command aborted. See table 137.7.10.6 Output From the Host to the Device Data StructureDATA SET MANAGEMENT Request Data is a list of one or more LBA Range Entries (see 4.18.3.2). If the Range Length of an LBA Range Entry is zero then the LBA Range Entry is not valid. If Trim is set to one, then LBA Range Entries may overlap and are not required to be sorted. See table 44.