SATA翻譯筆記_第1頁(yè)
SATA翻譯筆記_第2頁(yè)
SATA翻譯筆記_第3頁(yè)
SATA翻譯筆記_第4頁(yè)
SATA翻譯筆記_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、8 OOB and phy power states8.4 power-on sequence state machine8.4.3 Speed NegotiationIn state HP6: HR_AwaitAlign,Host正在等待的時(shí)候,就有可能為Host以不同的速率接受信號(hào)。一些恢復(fù)電路有可能恢復(fù)一些不可預(yù)知的數(shù)據(jù),當(dāng)輸入的信號(hào)高于支持的最大的速度的時(shí)候。相反的,當(dāng)接受信號(hào)的速率低于預(yù)期速率的時(shí)候,信號(hào)的混淆效應(yīng)會(huì)影響到解碼信號(hào)的準(zhǔn)確性。因?yàn)榛謴?fù)的數(shù)據(jù)可能是無(wú)效的,要準(zhǔn)備恢復(fù),就要確保ALIGNp 原語(yǔ)在HP6: HR_AwaitAlign, Host狀態(tài)下被準(zhǔn)確的解碼,根據(jù)數(shù)據(jù)恢

2、復(fù)的可能性,在這種狀態(tài)下,和主機(jī)預(yù)期不同的速度就會(huì)導(dǎo)致錯(cuò)誤的解碼。為了減小ALIGNp檢測(cè)和握手的錯(cuò)誤,接收端應(yīng)完全限定接受到的ALIGN序列,而不是只是依靠它的一部分。額外的手段來(lái)確保HP6:HR_AwaitAlign是準(zhǔn)確的轉(zhuǎn)變并且沒(méi)有從恢復(fù)電路恢復(fù)出虛假的信號(hào)確保ALIGNp被成功的解碼。設(shè)計(jì)的責(zé)任是確保與Phy初始化狀態(tài)機(jī)相關(guān)的條件和狀態(tài)是準(zhǔn)確的執(zhí)行并且沒(méi)有受到由于當(dāng)前選擇的速度和不支持的速度接收信號(hào)導(dǎo)致錯(cuò)誤的解碼和轉(zhuǎn)換的執(zhí)行的影響。10.3 FIS Types10.3.1 FIS Type values10.3.1.1 Unrecognized FIS Types一個(gè)FIS的接收器確

3、定是否要處理未定義或保留為“無(wú)法識(shí)別”一個(gè)FIS類型。無(wú)論接收機(jī)接收未定義或一個(gè)特定的FIS類型,host和device在使用之前發(fā)送FIS,都應(yīng)該確認(rèn)FIS的類型是未定義或保留為一個(gè)特定的FIS類型。10.3.2 CRC Errors on Data FISes在DATA FIS中CRC錯(cuò)誤。如果device發(fā)送一個(gè)Device到host的FIS,那么需要對(duì)狀態(tài)字段(status field)的ERR位置1,BSY和DRQ位清零。Error field段的ABRT置1 。沒(méi)有device到host FIS的傳輸,在CRC錯(cuò)誤之后(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的錯(cuò)誤解碼從Phy到Linkl 無(wú)效的 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如果主機(jī)發(fā)送COMRESET之前設(shè)備已經(jīng)完成執(zhí)行命令層協(xié)議,則該設(shè)備應(yīng)從頭開(kāi)始執(zhí)行COMRESET協(xié)議。如果device 收到一個(gè)register ,,在device執(zhí)行完command layer protocol,host到device的fis 的C位清0,srst位置1,然后device從頭開(kāi)始執(zhí)行軟件復(fù)位pr

7、otocol(協(xié)議)。SYNC Escape通過(guò)host or device帶回的link回到已知狀態(tài),在向device發(fā)送下一條command之前,需要軟件復(fù)位。11.1 power on and comreset protocol如果主機(jī)發(fā)送一個(gè) hardware reset(power-on or comreset),那么device就會(huì)忽略掉power management或者當(dāng)前device命令狀態(tài),device開(kāi)始執(zhí)行hardware reset。DHR0: Hardware_reset_asserted: 當(dāng)硬件復(fù)位后,開(kāi)始進(jìn)入狀態(tài)機(jī)。當(dāng)在這個(gè)狀態(tài),當(dāng)device等待到hardw

8、are reset否定信號(hào),然后從DP1:DR_Reset狀態(tài)退出進(jìn)入到phy state machine。Transition DHR0:1 當(dāng)傳輸層表明硬件復(fù)位被否定的時(shí)候,device應(yīng)當(dāng)過(guò)渡到DHR1: Execute_diagnostics狀態(tài)。DHR1: Execute_diagnostics:進(jìn)入這種狀態(tài)時(shí),transport layer 表明COMRESET信號(hào)被否定。在這個(gè)狀態(tài)的時(shí)候,device初始化device hardware并且執(zhí)行上電測(cè)試。Transition DHR1:1 device hardware初始化和上電測(cè)試成功,device進(jìn)入到DHR2,:Send_

9、good_status state.Transition DHR1:2 device hardware 初始化和上電測(cè)試失敗,device 進(jìn)入到DHR3:send_bad_status state.DHR2: Send_good_status: 這個(gè)狀態(tài)表明devicehardware 初始化和上電測(cè)試成功 。device 要求transport layer 發(fā)送一個(gè)FIS給host。如果device沒(méi)有實(shí)現(xiàn)PACKET命令功能,就對(duì)寄存器進(jìn)行如下設(shè)置。如果device實(shí)現(xiàn)了PACKET command功能,則對(duì)寄存器如下設(shè)置Transition DHR2:1 當(dāng)transport laye

10、r表明FIS已經(jīng)發(fā)送完成,device進(jìn)入到DI0:Device_Idle state.DHR3: Send_bad_status: 進(jìn)入此狀態(tài)時(shí),device 硬件已經(jīng)初始化并且上電測(cè)試失敗。當(dāng)在這個(gè)狀態(tài),device 要求transport layer 發(fā)送一個(gè)FIS給host。如果device沒(méi)有完成PACKET command功能,對(duì)寄存器如下設(shè)置。如果device 完成了PACKETcommand命令功能,則對(duì)寄存器如下設(shè)置Transition DHR3:1 當(dāng)transport layer 表明FIS傳輸完成,device 進(jìn)入轉(zhuǎn)換到DI0:device_idle state.11

11、.2 Device Idle protocolDI0:device idle 過(guò)程 /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:這個(gè)狀態(tài)表明device已經(jīng)完成了一個(gè)command protocol,comreset protocol,software reset protocol

12、或釋放一個(gè)排隊(duì)命令。當(dāng)進(jìn)入這個(gè)狀態(tài),device等待一個(gè)命令來(lái)處理,如果支持queuing(排隊(duì)),device就會(huì)acquire data(捕獲數(shù)據(jù))或者establish buffer space來(lái)完成命令的queued。Transition DI0:1: 當(dāng)device 從Transsport layer接收到一FIS,device就會(huì)切換到DI1:Check_FIS state*Transition DI0:2: 當(dāng)devic準(zhǔn)備完成數(shù)據(jù)傳輸排隊(duì)命令,device就轉(zhuǎn)換到DI4:Set_service state.*Transition DI0:3: 當(dāng)device準(zhǔn)備從WRITE F

13、PDMA QUEUED command接收數(shù)據(jù),devic就轉(zhuǎn)換到DFPDMAQ4:DataPhasePreWriteSetup state。這種情況適用于非零緩沖偏移量被用于完成先前部分?jǐn)?shù)據(jù)傳輸。*Transition DI0:4: 當(dāng)device準(zhǔn)備為READ FPDMA QUEUED command傳送數(shù)據(jù),device就轉(zhuǎn)換到DFPDMAQ3:DataPhasePreReadSetup state。這種情況適用于非零緩沖偏移量被用于完成先前部分?jǐn)?shù)據(jù)傳輸。*Transition DI0:5: 當(dāng)device成功完成了FPDMA QUEUED 或者NCQ QUEUE MANAGEMENT

14、command。那么device就轉(zhuǎn)換到DFPDMAQ10:SendStatus state。*Transition DI0:6: 當(dāng)device在FPDMA QUEUED or a NCQ QUEUE MANAGEMENT command遇到了錯(cuò)誤,那么device就轉(zhuǎn)換到DFPDMAQ11:ERROR state。Transition DI0:7: 如果啟用了異步通知(Asynchronous Notification)且NotifyPending變量清零FIS沒(méi)有表示,那么device就轉(zhuǎn)換到Notify_host state.DI1:Check_Fis state: 當(dāng)device從T

15、ransport layer接收到FIS就進(jìn)入這個(gè)狀態(tài)。 在這個(gè)狀態(tài), device需要檢測(cè)FIS 類型。Transition DI1:1: 如果FIS是一個(gè)Register FIS,那么FIS的C為清零,SRST位置1.device就轉(zhuǎn)換到DSR0:Software_reset_asserted state。Transition DI1:2: 如果FIS是一個(gè)Register FIS,那么FIS的C位和SRST位都清零。Device轉(zhuǎn)換到DI0:Device_idle state。Transition DI1:3: 如果FIS是一個(gè)Register FIS并且C位置1,那么device就轉(zhuǎn)換

16、到DI2:Check_command state.Transition DI1:4: 如果FIS的類型是First Party DMA Setup,device就通知Transport layer接收First Party DMA Setup,并且轉(zhuǎn)換到DI0:Device_idle state.Transition DI1:5: 對(duì)于其他類型的FIS,device應(yīng)該轉(zhuǎn)換到DI0:Device_idle sate.DI2: Check_command state: 當(dāng)device發(fā)現(xiàn)接收到Register FIS包含一個(gè)new command就進(jìn)入到此狀態(tài)。NOTE:這個(gè)狀態(tài)顯示轉(zhuǎn)換所有命令

17、。如果device沒(méi)有完成任一部分command,然后從DI2:11過(guò)渡到D13: No command shall be made.當(dāng)進(jìn)入到這個(gè)狀態(tài),如果支持異步通知,device就要通過(guò)接收到的命令并且對(duì)NotifyPending位清零來(lái)檢測(cè)command protol。對(duì)NotifyPending位清零允許對(duì)host發(fā)送異步通知(asynchronous notification)消息。Transition DI2:1: 當(dāng)接收到的command是一個(gè)非數(shù)據(jù)(non-data)出傳輸command,device就轉(zhuǎn)換到DPIOI0:PI0_in stateTransition DI2:2

18、: 當(dāng)接收到的command是一個(gè)PIO data-in command,device就轉(zhuǎn)換到DPIOI0:PIO_in state。Transition DI2:3: 當(dāng)接收到的command是一個(gè)PIO data-out command,device就轉(zhuǎn)換到DPIOO0:PIO_out state。Transition DI2:4: 當(dāng)接收到的command是一個(gè)READ DMA command,device就轉(zhuǎn)換到DDMAIO: DMA_in state.Transition DI2:5: 當(dāng)接收到的command是一個(gè)WRITE DMA command,device就轉(zhuǎn)換到DDMAO0

19、: DMA_out state.Transition DI2:6: 當(dāng)接收到的command是一個(gè)PACKET command,device就轉(zhuǎn)換到 DPKT0:PACKET state.*Transition DI2:7: 當(dāng)接收到的command是一個(gè) READ DMA QUEUED command,device就轉(zhuǎn)換到DDMAQI0:DMA_queued_in state.*Transition DI2:8: 當(dāng)接收到的command是一個(gè)WRITE DMA QUEUED command,Device就轉(zhuǎn)換到DDMAQO0:DMA_queued_out state.Transition

20、DI2:9: 當(dāng)接收到的command是一個(gè)EXECUTE DEVICE DIAGNOSTICS command ,device 就轉(zhuǎn)換到DEDD0:Execute_device_diag state.Transition DI2:10: 當(dāng)接收到的command是一個(gè)RESET DEVICE command, device就轉(zhuǎn)換到DDR0:DEVICE_reset state。Transition DI2:11: 當(dāng)接收到的command不能通過(guò)device執(zhí)行,device就轉(zhuǎn)換到DI3:No_command state*Transition DI2:12: 當(dāng)接收到的command是一個(gè)

21、SERVICE command,device就轉(zhuǎn)換到DI5:Service_test state*Transition DI2:13: 當(dāng)接收到的command是一個(gè)READ FPDMA QUEUED command protocol,device就轉(zhuǎn)換到DFPDMAQ1:AddCommandToQueue state.*Transition DI2:14: 當(dāng)接收到的command是一個(gè)WEITE FPDMA QUEUED command protocol, device就轉(zhuǎn)換到DFPDMAQ1:AddCommandToQueue state*Transition DI2:15: 當(dāng)接收到的

22、command是一個(gè)NCQ QUEUE MANAGEMENT command protocol,device就轉(zhuǎn)換到DFPDMAQ1:AddCommandToQueue state.*Transition DI2:16: 當(dāng)接收到的command不是READ FPDMA QUEUED; and not aWRITE FPDMA QUEUED; and not a NCQ QUEUE MANAGEMENT; and not a DEVICE RESET;并且是一個(gè)明顯的native queued command,就會(huì)出現(xiàn)錯(cuò)誤,并且device就轉(zhuǎn)換到DFPDMAQ12:BrokenHost_ClearBusy state.DI3: No_command state: 當(dāng)device發(fā)現(xiàn)device不能執(zhí)行接收到的command就進(jìn)入此狀態(tài)。在這種狀態(tài)的時(shí)候,device要求Transport layer發(fā)送一個(gè)register FIS,register content as described in the command descriptio

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論