SATA 3.3协议 Error handing机制

本文内容参考SATA3.3协议第15章节

15 Error Handling

15.1 Architecture

15.2 Phy error handling overview

There are three primary categories of error that the Phy layer detects internally:
a) no device present;    // 对应SStatus register中DET值为0000b
b) OOB signaling sequence failure; and    // 对应SStatus register中DET值为0001b
c) Phy internal error (loss of synchronization of communications link)    // 对应SError register中ERR域中bit[E]表示为phy internal error

前2个错误都是存储在SStatus register里,第三个错误存储在SStatus register和SError register里。

协议14.2.2中可以查看SStatus register

协议14.2.3中可以查看SError register

ERR域各bit详细解释见协议手册

15.3 Link layer error handling overview

There are two primary categories of errors that the Link layer detects internally are:
a) invalid state transitions; and
b) data integrity errors.
Invalid state transition errors may arise from a number of sources and the Link layer responses to
many such error conditions as defined in clause 9. Data integrity errors generally arise from
noise in the physical interconnect.
第一个错误如果发生在frame传输给Phy的过程中,则在传输完SOF后,再传输个R_ERR;如果错误不是发生在frame传输过程中,则Link直接切换为idle状态,等待下一次操作。

15.4 Transport layer error handling
In addition to the error information passed to it by the Link layer, the Transport layer internally
detects the following categories of errors:
a) internal errors;
b) frame errors;
c) protocol errors; and
d) state errors.
传输层都会通知链路层所检测到的error(SStatus and SError registers里反映),链路层再通过每次frame传输完成后的R_ERR/R_OK来报告错误(不过R_ERR相较于D2B FIS不能指出错误的原因)。

15.5 Application layer error handling
There are three overall error detection mechanisms that software identifies and responds to
Serial ATA errors:
a) bad status in the Command Block Status register;
b) bad status in the SError register; and
c) command failed to complete (i.e., timeout).
 

 

Release that incorporates errata against Revision 3.2: a) ECN073 - CIC Clarification; b) ECN074 - SATA Express Pin Sequencing; c) ECN075 - Identify Device data log and Word correction; d) ECN076 - Flow control; e) ECN077 - Automatic Partial to Slumber No NCQ; f) ECN078 - Queued Error I-bit Correction; g) ECN079 - TPR056 Corrections for Power Disable; h) ECN080 - NCQ Feature Set Clarification; i) ECN081 - Missing bit in ID data log for Rebuild Assist; j) ECN082 - FCOMP D24.2 Correction; k) ECN083 - Tx impedance balance cleanup; l) ECN084 - Slimline Figure Move; m) ECN085 - mSATA Figure Cleanup; n) ECN086 - Clarifying NCQ Commands; o) ECN087 - Missing bit in ID data log for Hybrid Information Enable; p) ECN088 - Enclosure services signature; and q) ECN089 - DSS/DAS Support Clarifications, and the following new features and enhancements: a) TPR056 - Enable new Power Disable feature on standard SATA connector P3; b) TPR057 - Register Signature definition for Host Managed Zoned devices; c) TPR058 - DAS/DSS/DHU Changes; d) TPR059 - Emphasis Control for SATA Interface; e) TPR060 - Modify/Cleanup Receive FPDMA Queued to support ZAC; f) TPR061 - Define/Use Sequential NCQ command(s); g) TPR062 - SEND/RECEIVE FPDMA Queued Cleanup; h) TPR063 - Align Queued DATA SET MANAGEMENT with ACS-4; i) TPR064 - Queued version of ACS-4 ZERO EXT command; j) TPR065 - Modernize Aux Field in NCQ NON-DATA Command; k) TPR066 - Reporting Current Write Pointer for NCQ Errors in Write Pointer Zones; l) TPR067 - FPDMA Zone Management Commands; m) TPR068 - Clarification of the FPDMA state machine and error reporting; n) TPR069 - MFTP Measurement Method for Emphasis; o) TPR070 - Retire ICC Field in SEND / RECEIVE FPDMA QUEUED; p) TPR071 - Addition of ZAC Management In/Out to NCQ Non-Data log (12h) and NCQ Send and Receive log (13h); q) TPR072 - Add Deferred Errors to NCQ Error log; r) TPR073 - IDENTIFY DEVICE Revision Updates; s) TPR074 - Obsolete Parallel ATA Emulation; and t) TPR075 - Add DATA SET MANAGEMENT XL command.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值