1、American National StandardDeveloped byINCITS Technical Reportfor Information Technology -Time-Limited Commands (TLC)INCITS TR-37-2004INCITS TR-37-2004Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without l
2、icense from IHS-,-,-Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-INCITS TR-37-2004INCITS Technical Reportfor Information Technology Time-Limited Commands(TLC)SecretariatInform
3、ation Technology Industry CouncilAbstractThe purpose of the Time-Limited Commands (TLC) feature set is to define a mode of operation that bal-ances streaming performance with reliability. Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduc
4、tion or networking permitted without license from IHS-,-,-Published byAmerican National Standards Institute25 West 43rd Street, New York, New York 10036Copyright 2004 by Information Technology Industry Council (ITI)All rights reserved.No part of this publication may be reproduced in anyform, in an e
5、lectronic retrieval system or otherwise, without prior written permission of the publisher.Printed in the United States of AmericaINCITS Technical Report SeriesThis Technical Report is one in a series produced by the International Committeefor Information Technology Standards (INCITS). The secretari
6、at for INCITS is heldby the Information Technology Industry Council (ITI), 1250 Eye Street, NW, Suite200, Washington, DC 2005.As a by-product of the standards development process and the resources ofknowledge devoted to it, INCITS from time to time produces Technical Reports.Such Technical Reports a
7、re not standards, nor are they intended to be used assuch.INCITS Technical Reports are produced in some cases to disseminate thetechnical and logical concepts reflected in standards already published or underdevelopment. In other cases, they derive from studies in areas where it is foundpremature to
8、 develop a standard due to a still changing technology, orinappropriate to develop a rigorous standard due to the existence of a number ofviable options, the choice of which depends on the users particular requirements.These Technical Reports, thus, provide guidelines, the use of which can result in
9、greater consistency and coherence of information processing systems.When the draft Technical Report is completed, the Technical Committee approvalprocess is the same as for a draft standard. Processing by INCITS is also similarto that for a draft standard.PatentStatementCAUTION: The developers of th
10、is Technical Report have requested that holdersof patents that may be required for the implementation of the standard, disclosesuch patents to the publisher. However, neither the developers nor the publisherhave undertaken a patent search in order to identify which, if any, patents mayapply to this
11、Technical Report. As of the date of publication of this Technical Report and following calls for theidentification of patents that may be required for the implementation of theTechnical Report, no such claims have been made. No further patent search isconducted by the developer or the publisher in r
12、espect to any Technical Report itprocesses. No representation is made or implied that licenses are not required toavoid infringement in the use of this Technical Report.Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking
13、permitted without license from IHS-,-,-iContentsPageForeword .iiiIntroduction v1 Scope . 11.1 Assumptions 12 Normative references. 12.1 Approved references 12.2 References under development. 12.3 Other references 13 Definitions, abbreviations, and conventions . 23.1 Definitions and abbreviations. 23
14、.1.1 AbortMode . 23.1.2 CCTL 23.1.3 Command Timer 23.1.4 DWE. 23.1.5 NormalMode 23.1.6 Qualified TLC command 23.1.7 Re-arm the timer 23.1.8 RC 23.1.9 ReadContinuous Mode 23.1.10 SE 23.1.11 Timer armed. 23.1.12 Timer expired. 23.1.13 Timer running. 33.1.14 TLC Mode 33.1.15 WC. 33.1.16 WriteContinuous
15、 Mode 33.2 Conventions. 33.2.1 Conventions are defined elsewhere. 34 Description of the Feature Set . 44.1 TLC feature set 44.2 Command Completion Timer. 44.3 Commands Affected 44.4 Operational Summary 44.4.1 Host Behavior 44.4.2 Device Behavior. 54.5 State Diagrams 64.5.1 Time-Limited Command Overv
16、iew. 64.5.2 Time-Limited Flush Cache Command . 84.5.3 TLC Error Handling 104.6 Changes to Host Adapter Registers 134.6.1 Error register 13Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from
17、IHS-,-,-iiPage4.7 Changes to Commands . 134.7.1 Commands Affected 134.7.2 FLUSH CACHE . 144.7.3 FLUSH CACHE EXT . 154.7.4 IDENTIFY DEVICE 174.7.5 READ DMA 184.7.6 READ DMA EXT 194.7.7 READ LOG EXT 214.7.8 SET FEATURES 224.7.9 WRITE DMA 234.7.10 WRITE DMA EXT 24Figures1 TLC Overview State Diagram 62
18、TLC Flush Cache State Diagram. 83 TLC Error Handling State Diagram 10Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-iiiForeword (This foreword is not part of INCITS Technical Re
19、port INCITS TR-37-2004.)This technical report describes the Time-Limited Commands (TLC) feature.This technical report was developed by T13 during 2004. The approval process start-ed in 2004.This document is not an American National Standard and the material containedherein is not normative in nature
20、. Comments on the content of this document shouldbe sent to the INCITS Secretariat, Information Technology Industry Council, 1250Eye Street, NW, Suite 200, Washington, DC 20005.This technical report was processed and approved for submittal to ANSI by the Inter-National Commitee for Information Techn
21、ology Standards, INCITS. Committee ap-proval of the technical report does not necessarily imply that all committee membersvoted for approval. At the time it approved this technical report, the INCITS Commit-tee had the following members:Karen Higginbottom, ChairJennifer Garner, SecretaryOrganization
22、 Represented Name of RepresentativeApple Computer, Inc. David MichaelFarance, Inc Frank FaranceHewlett-Packard Company. Karen HigginbottomScott Jameson (Alt.)Steve Mills (Alt.)EIA Edward Mikoski, Jr.Suan Hoyler (Alt.)EMC2. Gary RobinsonIBM Corporation . Ronald F. SillettiInstitute for Certification
23、of Computer Professionals. Kenneth M. ZemrowskiThomas Kurihara (Alt.)IEEE . Judith GormanRichard Holleman (Alt.)Robert Pritchard (Alt.)Intel Corporation . Philip WennblomDave Thewlis (Alt.)Norbert Mikula (Alt.)Microsoft Corporation . Mike KsarDon Stanwyck (Alt.)Isabelle Valet-Harper (Alt.)National I
24、nstitute of Standards 2. may enter this mode by executing a SET FEATURES command to set a non-zero value for a CCTL; 3. may execute a SET FEATURES command to specify the action to be taken by the device if a command does not complete within the define time window (e.g. abort or continue with bad dat
25、a: ReadContinuous (RC) / WriteContinuous (WC) option) 4. shall arm the timer for the first group of commands by executing a FLUSH CACHE EXT command, knowing that the timer does not start until the host sends the first qualified READ or WRITE command to the device; 5. shall execute each group of comm
26、ands with this protocol: a. execute a qualified READ or WRITE command on the device. The first such command after a FLUSH CACHE EXT command starts the Command Completion Timer. b. execute any group of commands to the device. The number and type of commands in this group depends on the expected avera
27、ge completion time (for the specific commands on this specific device) and on the selected CCTL value; Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-INCITS TR-37-2004 5 c. expe
28、ct that the group of READ and/or WRITE qualified commands shall complete before the time limit expires. Commands other than those listed above shall not be affected by the CCTL. d. complete the execution of a FLUSH CACHE EXT command BEFORE the expiration of the time limit. This shall stop and re-arm
29、 the time for the next group of commands. If the timer expires DURING a Flush Cache command, the buffered data is not guaranteed to still be in the buffer. It should be considered as lost or destroyed. The host should re-issue all writes sent since the last FLUSH CACHE EXT command. 4.4.2 Device Beha
30、vior When this feature is supported by the device: 1. on completion of a FLUSH CACHE command shall stop the Command Completion Timer, re-arm it, but not allow it to run; 2. shall start the Command Completion Timer on receipt of the first qualified READ or WRITE command after a FLUSH CACHE EXT comman
31、d 3. shall not allow the Command Completion Timer to affect the outcome of commands other than those listed above; 4. all qualified commands must complete before the CCTL expires. If the command cannot complete because of retries (or any other reason), it shall be terminated (either aborted or finis
32、hed with incorrect data).The data returned may include the bad sector. 5. On receipt of a Power-on Reset or Hard Reset, the Stream Error logs (21h and 22h) shall be cleared of all recorded events. 6. On receipt of a Soft Reset, the Stream Error logs are unaffected. When this feature is not supported
33、 or not enabled (e.g. Normal mode): 1. The WorstCase timer and the ReadContinuous (RC) / WriteContinuous (WC) option are ignored (or not even implemented). 2. All configured retries shall be executed before an error is returned to the host. 3. If a Read command cannot complete because of retries, th
34、e data returned may include the bad sector. Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-INCITS TR-37-2004 6 4.5 State Diagrams 4.5.1 Time-Limited Command Overview TLC Off TLC
35、0: New Cmd Received TLC1: TLC supported and Enabled TLC2: Qualified TLC Cmd TLC9: Done TLC3: Start Timer TLC4: Execute TLC Command TLC5: Execute Cmd ReadDMA ReadDMAExt WriteDMA WriteDMAExt TLC Supported and Enabled Timer Expired Before Cmd Started Timer Running Timer Not running Timer Expired During
36、 Cmd Timer Not Expired FlushCache FlushCacheExt Any Other Cmd TLC1:TLC5 TLC1:TLF0 TLC0:TLC5 TLC0:TLC1 TLC3:TLC4 TLC2:TLC3 TLC4:TLER0 TLC1:TLC2 TLC2:TLC4 TLC5:TLC9 TLC4:TLC9 TLC2:TLER0 TLER9:TLC9 TLF9:TLC9 Figure 1 - TLC Overview State Diagram Copyright American National Standards Institute Provided
37、by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-INCITS TR-37-2004 7 TLC0: New Cmd Received: This state is entered when the device receives a new command from the host. Transition TLC0:TLC1: This transition shall be taken if TLC mode is
38、 both supported and enabled. Transition TLC0:TLC5: TLC mode is either not supported or not enabled. TLC1: TLC supported and enabled: This state is entered when TLC mode is both supported and enabled. Transition TLC1:TLF0: The command is either FLUSH CACHE or FLUSH CACHE EXT Transition TLC1:TLC2: The
39、 command is either READ DMA, READ DMA EXT, WRITE DMA, or WRITE DMA EXT. Transition TLC1:TLC5: The command is not a qualified TLC command. TLC2: Qualified TLC Cmd: The command is known to be a Read or Write command that is affected by TLC feature set. Transition TLC2:TLC3: If the timer is not running
40、, the timer shall be started. Transition TLC2:TLC4: If the timer is already running, the command shall be executed. Transition TLC2:TLER0: If the timer has expired, Time-Limited error handling shall take place. TLC3: Start Timer: Prior to entering this state, the timer has been loaded with the appro
41、priate value. The timer is now started. Transition TLC3:TLC4: The command shall be executed. TLC4: Execute TLC Cmd: The command shall be executed. The timer shall be checked at times during execution. Transition TLC4:TLC9: The timer did not expire during the execution of the command. Transition TLC4
42、:TLER0: The timer expired during the execution of the command. Time-Limited error handling shall take place. TLC5: Execute Other Cmd: The command shall be executed without checking the timer either before, during or after execution. This state of the timer is not affected. Transition TLC5:TLC9: Proc
43、eed to Normal end-of-command. TLC9: Done: Normal end-of-command processing happens here. Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-INCITS TR-37-2004 8 4.5.2 Time-Limited Fl
44、ush Cache Command Timer Not Expired TLF0: TLC Flush Cache No data to flush TLF4: Execute Flush TLF9: Finish Flush TLF3: Pre-Check Timer TLF5: Post-Check Timer Timer Expired TLF0:TLF3 TLF3:TLER0 TLF3:TLF4 TLF4:TLF5 TLF5:TLER0 TLF0:TLF9 TLF9:TLC9 TLF5:TLF9 Timer Expired Timer Not Expired Return to TLC
45、 Overview TLER9:TLF9 Figure 2 - TLC Flush Cache State Diagram Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking permitted without license from IHS-,-,-INCITS TR-37-2004 9 TLF0: TLC Flush Cache: While in TLC Mode, a FLUS
46、H CACHE or FLUSH CACHE EXT command was received by the device. Transition TLF0: TLF3 : If there are data to flush, continue. Transition TLF0:TLF9: If there are no data to flush, proceed to the Flush Done state. TLF3: Pre-Check Timer: Before executing the FLUSH command, see if the timer has expired.
47、Transition TLF3:TLF4: If the timer has not already expired, the FLUSH command shall be executed. Transition TLF3:TLER0: The timer has already expired. Time-Limited error handling shall be performed. TLF4: Execute Flush: The FLUSH command shall be executed.The timer shall be checked at times during e
48、xecution. Transition TLF4:TLF5: When the FLUSH operation is done, the timer shall be checked again. TLF5: Post-Check Timer: See if the timer expired during the FLUSH operation. Transition TLF5:TLF9: The timer has still not expired. Proceed to normal completion. Transition TLF5:TLER0: The timer expir
49、ed during the FLUSH. Time-Limited error handling shall be performed. TLF9: Finish Flush: Stop the timer. Re-arm the TLC timer. Transition TLF6:TLC9: Proceed to normal Time-Limited Command completion. Copyright American National Standards Institute Provided by IHS under license with ANSINot for ResaleNo reproduction or networking p