SATA翻译笔记_第1页
SATA翻译笔记_第2页
SATA翻译笔记_第3页
SATA翻译笔记_第4页
SATA翻译笔记_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、8 OOB and phy power states8.4 power-on sequence state machine8.4.3 Speed NegotiationIn state HP6: HR_AwaitAlign,Host正在等待的时候,就有可能为Host以不同的速率接受信号。一些恢复电路有可能恢复一些不可预知的数据,当输入的信号高于支持的最大的速度的时候。相反的,当接受信号的速率低于预期速率的时候,信号的混淆效应会影响到解码信号的准确性。因为恢复的数据可能是无效的,要准备恢复,就要确保ALIGNp 原语在HP6: HR_AwaitAlign, Host状态下被准确的解码,根据数据恢

2、复的可能性,在这种状态下,和主机预期不同的速度就会导致错误的解码。为了减小ALIGNp检测和握手的错误,接收端应完全限定接受到的ALIGN序列,而不是只是依靠它的一部分。额外的手段来确保HP6:HR_AwaitAlign是准确的转变并且没有从恢复电路恢复出虚假的信号确保ALIGNp被成功的解码。设计的责任是确保与Phy初始化状态机相关的条件和状态是准确的执行并且没有受到由于当前选择的速度和不支持的速度接收信号导致错误的解码和转换的执行的影响。10.3 FIS Types10.3.1 FIS Type values10.3.1.1 Unrecognized FIS Types一个FIS的接收器确

3、定是否要处理未定义或保留为“无法识别”一个FIS类型。无论接收机接收未定义或一个特定的FIS类型,host和device在使用之前发送FIS,都应该确认FIS的类型是未定义或保留为一个特定的FIS类型。10.3.2 CRC Errors on Data FISes在DATA FIS中CRC错误。如果device发送一个Device到host的FIS,那么需要对状态字段(status field)的ERR位置1,BSY和DRQ位清零。Error field段的ABRT置1 。没有device到host FIS的传输,在CRC错误之后(last data fis)9.6 Link Layer St

4、ate Machine9.6.1 Terms Used in Link Layer Transition Tables1. LERSET: Link layer COMRESET or COMINIT signal2. PHYRDYn:PHYRDY signal取反(negation)3PHYRDY: defined in setion 7.1.2.4. Decerr: 32位Dword的错误解码从Phy到Linkl 无效的 10b模式l Disparity errorl Primitive with a control character in the first byte but not

5、an allowed control characterl Any control character in other than the first byte of the Dword5. DatDword: A 32 bit pattern that is formed correctly, but does not have the primitive leading 10b pattern (K28.5 or K28.3).6. COMWAKE: Signal from the OOB detector in the Phy indicating that the COMWAKE OO

6、B signal is being detected.7. AnyDword: A 32 bit pattern of any type - even one with DecErr received from Phy11 device command layer protocol如果主机发送COMRESET之前设备已经完成执行命令层协议,则该设备应从头开始执行COMRESET协议。如果device 收到一个register ,,在device执行完command layer protocol,host到device的fis 的C位清0,srst位置1,然后device从头开始执行软件复位pr

7、otocol(协议)。SYNC Escape通过host or device带回的link回到已知状态,在向device发送下一条command之前,需要软件复位。11.1 power on and comreset protocol如果主机发送一个 hardware reset(power-on or comreset),那么device就会忽略掉power management或者当前device命令状态,device开始执行hardware reset。DHR0: Hardware_reset_asserted: 当硬件复位后,开始进入状态机。当在这个状态,当device等待到hardw

8、are reset否定信号,然后从DP1:DR_Reset状态退出进入到phy state machine。Transition DHR0:1 当传输层表明硬件复位被否定的时候,device应当过渡到DHR1: Execute_diagnostics状态。DHR1: Execute_diagnostics:进入这种状态时,transport layer 表明COMRESET信号被否定。在这个状态的时候,device初始化device hardware并且执行上电测试。Transition DHR1:1 device hardware初始化和上电测试成功,device进入到DHR2,:Send_

9、good_status state.Transition DHR1:2 device hardware 初始化和上电测试失败,device 进入到DHR3:send_bad_status state.DHR2: Send_good_status: 这个状态表明devicehardware 初始化和上电测试成功 。device 要求transport layer 发送一个FIS给host。如果device没有实现PACKET命令功能,就对寄存器进行如下设置。如果device实现了PACKET command功能,则对寄存器如下设置Transition DHR2:1 当transport laye

10、r表明FIS已经发送完成,device进入到DI0:Device_Idle state.DHR3: Send_bad_status: 进入此状态时,device 硬件已经初始化并且上电测试失败。当在这个状态,device 要求transport layer 发送一个FIS给host。如果device没有完成PACKET command功能,对寄存器如下设置。如果device 完成了PACKETcommand命令功能,则对寄存器如下设置Transition DHR3:1 当transport layer 表明FIS传输完成,device 进入转换到DI0:device_idle state.11

11、.2 Device Idle protocolDI0:device idle 过程 /P432 waitDI1:check_FIS / P432 Check_FIS type and C bit.DI2:Check_command / P433DI3:No_commandDI4:Set_serviceDI5:Servicr_test*DI6:Service_send_tag*DI7:Service_decodeDI0:Device_Idle:这个状态表明device已经完成了一个command protocol,comreset protocol,software reset protocol

12、或释放一个排队命令。当进入这个状态,device等待一个命令来处理,如果支持queuing(排队),device就会acquire data(捕获数据)或者establish buffer space来完成命令的queued。Transition DI0:1: 当device 从Transsport layer接收到一FIS,device就会切换到DI1:Check_FIS state*Transition DI0:2: 当devic准备完成数据传输排队命令,device就转换到DI4:Set_service state.*Transition DI0:3: 当device准备从WRITE F

13、PDMA QUEUED command接收数据,devic就转换到DFPDMAQ4:DataPhasePreWriteSetup state。这种情况适用于非零缓冲偏移量被用于完成先前部分数据传输。*Transition DI0:4: 当device准备为READ FPDMA QUEUED command传送数据,device就转换到DFPDMAQ3:DataPhasePreReadSetup state。这种情况适用于非零缓冲偏移量被用于完成先前部分数据传输。*Transition DI0:5: 当device成功完成了FPDMA QUEUED 或者NCQ QUEUE MANAGEMENT

14、command。那么device就转换到DFPDMAQ10:SendStatus state。*Transition DI0:6: 当device在FPDMA QUEUED or a NCQ QUEUE MANAGEMENT command遇到了错误,那么device就转换到DFPDMAQ11:ERROR state。Transition DI0:7: 如果启用了异步通知(Asynchronous Notification)且NotifyPending变量清零FIS没有表示,那么device就转换到Notify_host state.DI1:Check_Fis state: 当device从T

15、ransport layer接收到FIS就进入这个状态。 在这个状态, device需要检测FIS 类型。Transition DI1:1: 如果FIS是一个Register FIS,那么FIS的C为清零,SRST位置1.device就转换到DSR0:Software_reset_asserted state。Transition DI1:2: 如果FIS是一个Register FIS,那么FIS的C位和SRST位都清零。Device转换到DI0:Device_idle state。Transition DI1:3: 如果FIS是一个Register FIS并且C位置1,那么device就转换

16、到DI2:Check_command state.Transition DI1:4: 如果FIS的类型是First Party DMA Setup,device就通知Transport layer接收First Party DMA Setup,并且转换到DI0:Device_idle state.Transition DI1:5: 对于其他类型的FIS,device应该转换到DI0:Device_idle sate.DI2: Check_command state: 当device发现接收到Register FIS包含一个new command就进入到此状态。NOTE:这个状态显示转换所有命令

17、。如果device没有完成任一部分command,然后从DI2:11过渡到D13: No command shall be made.当进入到这个状态,如果支持异步通知,device就要通过接收到的命令并且对NotifyPending位清零来检测command protol。对NotifyPending位清零允许对host发送异步通知(asynchronous notification)消息。Transition DI2:1: 当接收到的command是一个非数据(non-data)出传输command,device就转换到DPIOI0:PI0_in stateTransition DI2:2

18、: 当接收到的command是一个PIO data-in command,device就转换到DPIOI0:PIO_in state。Transition DI2:3: 当接收到的command是一个PIO data-out command,device就转换到DPIOO0:PIO_out state。Transition DI2:4: 当接收到的command是一个READ DMA command,device就转换到DDMAIO: DMA_in state.Transition DI2:5: 当接收到的command是一个WRITE DMA command,device就转换到DDMAO0

19、: DMA_out state.Transition DI2:6: 当接收到的command是一个PACKET command,device就转换到 DPKT0:PACKET state.*Transition DI2:7: 当接收到的command是一个 READ DMA QUEUED command,device就转换到DDMAQI0:DMA_queued_in state.*Transition DI2:8: 当接收到的command是一个WRITE DMA QUEUED command,Device就转换到DDMAQO0:DMA_queued_out state.Transition

20、DI2:9: 当接收到的command是一个EXECUTE DEVICE DIAGNOSTICS command ,device 就转换到DEDD0:Execute_device_diag state.Transition DI2:10: 当接收到的command是一个RESET DEVICE command, device就转换到DDR0:DEVICE_reset state。Transition DI2:11: 当接收到的command不能通过device执行,device就转换到DI3:No_command state*Transition DI2:12: 当接收到的command是一个

21、SERVICE command,device就转换到DI5:Service_test state*Transition DI2:13: 当接收到的command是一个READ FPDMA QUEUED command protocol,device就转换到DFPDMAQ1:AddCommandToQueue state.*Transition DI2:14: 当接收到的command是一个WEITE FPDMA QUEUED command protocol, device就转换到DFPDMAQ1:AddCommandToQueue state*Transition DI2:15: 当接收到的

22、command是一个NCQ QUEUE MANAGEMENT command protocol,device就转换到DFPDMAQ1:AddCommandToQueue state.*Transition DI2:16: 当接收到的command不是READ FPDMA QUEUED; and not aWRITE FPDMA QUEUED; and not a NCQ QUEUE MANAGEMENT; and not a DEVICE RESET;并且是一个明显的native queued command,就会出现错误,并且device就转换到DFPDMAQ12:BrokenHost_ClearBusy state.DI3: No_command state: 当device发现device不能执行接收到的command就进入此状态。在这种状态的时候,device要求Transport layer发送一个register FIS,register content as described in the command descriptio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论