CN101882096A - Sata主控装置及sata外围装置之间所传送的损坏控制字元的检测及修正方法 - Google Patents

Sata主控装置及sata外围装置之间所传送的损坏控制字元的检测及修正方法 Download PDF

Info

Publication number
CN101882096A
CN101882096A CN2010102252598A CN201010225259A CN101882096A CN 101882096 A CN101882096 A CN 101882096A CN 2010102252598 A CN2010102252598 A CN 2010102252598A CN 201010225259 A CN201010225259 A CN 201010225259A CN 101882096 A CN101882096 A CN 101882096A
Authority
CN
China
Prior art keywords
control character
content
receives
current control
byte
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010102252598A
Other languages
English (en)
Other versions
CN101882096B (zh
Inventor
刘铨
曾宝庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN101882096A publication Critical patent/CN101882096A/zh
Application granted granted Critical
Publication of CN101882096B publication Critical patent/CN101882096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Abstract

本发明提供一种在SATA主控装置以及SATA外围装置之间所传送的控制字元的修正方法,所述的方法包含有分析数据传送或数据接收的目前状态、先前传送的控制字元或先前接收的控制字元;依据所述的数据传送或数据接收的目前状态、所述的先前传送的控制字元或所述的先前接收的控制字元中的至少之一来选择至少一候选控制字元;依据所述的至少一候选控制字元以及接收到之当前控制字元产生预测控制字元,以预测当前控制字元的识别身份;以及当所述的预测控制字元与所述的当前控制字元不同时,以所述的预测控制字元取代所述的当前控制字元。

Description

SATA主控装置及SATA外围装置之间所传送的损坏控制字元的检测及修正方法
本申请为中国专利申请CN200710084040.9的分案申请,原申请的申请日为2007年2月12日,发明名称为:SATA主控装置及SATA外围装置之间所传送的损坏控制字元的检测及修正方法。
技术领域
本发明是关于序列式进阶技术附接(serial advanced technologyattachment,SATA)装置,尤指用来修正因为噪声干扰而造成损坏的控制字元的方法。
背景技术
在SATA协议中,SATA主控装置与SATA外围装置两者间由信息框结构(Frame Information Structure,FIS)来互相交换信息,其中每一个信息框结构由一些双字组(Dword)所构成,而这些双字组则用来供主控装置与外围装置间进行信息传递。SATA主控装置与SATA外围装置利用控制字元(primitives)来进行控制以及提供串行传输线路的状态,每一个控制字元亦由一双字组所构成。除此之外,控制字元也可用来实现主控装置与外围装置之间的联机建立程序(handshaking)。
请参照图1,图1为SATA协议中控制字元的字节内容查阅表10的示意图。每一个控制字元包含有四字节,分别为第一字节12、第二字节14、第三字节16以及第四字节18。
请参照图2,图2为一主控装置与一外围装置之间发送一信息框(frame)的一范例的示意图。主控装置可以是传送器100与接收器200的其中的一装置,而外围装置即为传送器100与接收器200之中的另一装置。如图2所示,传送器100传送一连串的数据或控制字元102~188至接收器200,而接收器200便响应控制字元202~288并将其传送到传送器100。
如图2所示,一开始时,传送器100于同步控制字元之后紧接着传送加扰数据封包(scrambled data packet)102、104至接收器200,请注意,符号“XXXX”代表加扰数据值,用来减少电磁干扰(EMI)的影响,而加扰数据封包102、104并非控制字元。当传送器100预备开始传送一信息框给接收器200时,传送器100输出一预备传送(X_RDY)控制字元用以指示传送器100已经预备好可以传送负载数据至接收器200,在本范例中,传送器100送出两个预备传送控制字元106、108,并发出一接续传送(CONT)控制字元110以避免重复输出相同的控制字元,接着输出一连串的加扰数据封包112~118。传送器100持续这个运作直到接收器200响应对应于预备传送控制字元的一预备接收(R_RDY)控制字元。预备接收控制字元用来指示接收器200已经预备好可以接收负载数据,在本范例中,接收器200送出两个预备接收控制字元214、216,并发出一接续传送控制字元218,接着输出一连串的加扰数据封包220~224,直到传送器100开始传送所述的信息框。
传送器100送出一信息框开始(start of frame,SOF)控制字元120至接收器200,用来指示即将开始传送信息框。之后,传送器100送出一类别指示标(type indicator)122用以指示即将被传送到接收器200的信息框结构的类别,接着送出复数个数据封包124~130。当接收器200接收到从传送器100传来的数据时,接收器200便依次输出数据接收中(reception in progress,R_IP)控制字元226、228、接续传送控制字元230以及加扰数据232~238至传送器100。当传送器100暂时没有负载数据要被传送时,便输出一暂停(HOLD)控制字元,如图2所示,传送器100依次输出暂停控制字元132、134、接续传送控制字元136、加扰数据138~142以及另一个暂停控制字元144,另一方面,接收器200会利用暂停响应(hold acknowledge,HOLDA)控制字元240、242来响应已收到暂停控制字元,并接着输出接续传送控制字元244以及加扰数据246~252。
传送器100完成送出负载数据中的数据封包146~150后,接着送出循环冗余检查(cyclic redundancy check,CRC)数据152以及信息框结束(end offrame,EOF)控制字元154。之后,当等待从接收器200所响应的接收状态的期间,传送器100连续输出等待结束(wait for frame termination,WTRM)控制字元156~158、接续传送控制字元162以及加扰数据164~170。在这个期间,接收器200同时完成接收从传送器100所传来的负载数据,并依次输出数据接收中控制字元254、256、接续传送控制字元258以及加扰数据260、262。在接收器200已经完成接收所有的负载数据、循环冗余检查(CRC)152以及信息框结束控制字元154,并确认循环冗余检查(CRC)没问题后,接收器200便依次输出接收正确(R_OK)控制字元264、266、接续传送控制字元268以及加扰数据270~278。如果循环冗余检查(CRC)发现有问题,接收器200则输出接收错误(reception error,R_ERR)控制字元。一旦传送器100接收到接收器200所响应的接收正确控制字元,传送器100便输出同步(SYNC)控制字元172、174并接着输出接续传送控制字元176以及加扰数据178~188。当传送器100处于闲置状态时,传送器100便输出同步控制字元以让传送器100以及接收器200达到同步,此时,接收器200将传送出同步控制字元280、282、接续传送控制字元284以及加扰数据286、288以作为响应。
上述机制用来说明于不具传送问题时传送一信息框中的负载数据的情形,然而,噪声可能干扰控制字元以及数据的传送,如此一来,将造成传送器100以及接受器200之间通讯上的问题。举例来说,如果接收器200无法解码传送器所送出的信息框开始控制字元,接收器200将一直持续的送出预备接收控制字元,但是,传送器100并不知道接收器200没有接收到信息框开始控制字元,而持续送出数据至接收器200直到所述的数据传送完成才送出等待结束控制字元至接收器200。因为在数据传送开始时,接收器200从未接收到信息框开始控制字元,因此接收器200将以同步控制字元来响应所述的等待结束控制字元,也因为接收器200并不会送出接收正确或接收错误控制字元,所以传送器100以及接收器200之间的数据传输可能在这个时候悬宕(hang)而失败。
如果噪声干扰而造成暂停控制字元、暂停响应控制字元、接续传送控制字元或信息框结束控制字元损坏时,将会造成另一个潜在的问题。假若这些控制字元受噪声影响而损坏,如此一来,可能导致错误的数据传送长度,如果循环冗余检查或者8位到10位的解码无法检验出这个问题,那么将导致系统运作失败而死机。
此外,如果噪声干扰而造成暂停控制字元、暂停响应控制字元、接续传送控制字元损坏,传送器100可能送出太多数据而造成接收器200的先进先出队列产生数据溢出的情形。由于噪声是无法完全消除,所以必须有克服因噪声干扰造成控制字元损坏的方法以解决上述的问题。
发明内容
鉴于现有技术中存在的问题,本发明的目的之一在于提供一种一SATA主控装置以及一SATA外围装置之间所传送的损坏控制字元的修正方法。
在本发明一实施例中提供一种在SATA主控装置以及SATA外围装置之间所传送的控制字元的修正方法,所述的方法包含有分析数据传送或数据接收的目前状态、先前传送的控制字元或先前接收的控制字元;依据所述的数据传送或数据接收的目前状态、所述的先前传送的控制字元或所述的先前接收的控制字元中的至少之一来选择至少一候选控制字元;依据所述的至少一候选控制字元以及接收到之当前控制字元产生预测控制字元,以预测当前控制字元的识别身份;以及当所述的预测控制字元与所述的当前控制字元不同时,以所述的预测控制字元取代所述的当前控制字元。
在本发明一实施例中提供一种在SATA主控装置以及一SATA外围装置之间传送的控制字元的修正方法,所述的方法包含有将接收的当前控制字元的至少一位置与复数个可能控制字元的至少一位置进行比较,以产生比较结果;依据所述的比较结果来决定预测控制字元,以预测当前控制字元的识别身份;以及以所述的预测控制字元取代所述的当前控制字元。
本发明的有益效果在于,提供一种在一序列式进阶技术附接主控装置以及一SATA外围装置之间所传送的损坏控制字元的修正方法,用以解决由于噪声干扰造成控制字元损坏而降低SATA主控装置和SATA外围装置之间的数据传输效率的问题。
附图说明
图1为SATA协议中控制字元的字节内容的查阅表的示意图。
图2为主控装置与外围装置之间发送一信息框的一范例的示意图。
图3为依据本发明第一实施例所绘的控制字元预测系统的功能方块图。
图4为依据本发明第二实施例所绘的控制字元预测系统的功能方块图。
图5为依据本发明第三实施例所绘的控制字元预测系统的功能方块图。
图6为依据本发明第四实施例所绘的控制字元预测系统的功能方块图。
附图标号:
300                                控制字元预测系统
10                                 查阅表
12                                 第一字节
14                                 第二字节
16                                 第三字节
18                                 第四字节
100                                传送器
200                                接收器
106、108、110、120、122、132、     控制字元
134、136、144、152、154、156、
158、160、162、172、174、176、
214、216、218、226、228、230、
240、242、244、254、256、258、
264、266、268、280、282、284
124、126、128、130、146、148、数据封包
150
102、104、112、114、116、118、加扰数据
138、140、142、164、166、168、
170、178、180、182、184、186、
188、202、204、206、208、210、
212、220、222、224、232、234、
236、238、246、248、250、252、
260、262、270、272、274、276、
278、286、288
300、320、340、360            控制字元预测系统
302、322、342、362            控制字元解码电路
304、344                      延迟电路
306、326、346、364            控制字元编码规则表
324                           控制逻辑电路
具体实施方式
本发明提供一种在一序列式进阶技术附接主控装置以及一SATA外围装置之间所传送的损坏控制字元(primitives)的修正方法,以下结合附图对本发明进行详细说明。
在说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属领域中具有通常知识者应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求书并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及权利要求项当中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述的第一装置可直接电气连接于所述的第二装置,或透过其它装置或连接手段间接地电气连接至所述的第二装置。
请注意,由于控制字元在传送器100以及接收器200之间的传送会受到噪声干扰而损坏,所以需要一种方法来预测原始控制字元并修正损坏控制字元使之成为预测控制字元,本说明书提供复数个实施例来预测损坏控制字元的实际值,同时可以合并复数个实施方式来提高预测的精准度。对每一个实施例的说明请同时参照图1以及图2。
首先,一些控制字元仅用于特定的传送状态。举例来说,接收器200会送出一预备接收控制字元到传送器100,然后接收器200会预期接收一信息框开始控制字元以便开始信息框的传送,所以,接收器200在送出预备接收控制字元时,可以预测一损坏控制字元为信息框开始控制字元。此外,暂停控制字元、暂停响应控制字元、接续传送控制字元以及信息框结束控制字元将仅于数据传送状态或数据接收状态中被修正。举例来说,只有当接收器200在数据接收中状态、直接存储器存取结束(direct memory access terminate,DMAT)状态、暂停响应状态或暂停状态时,才会预期接收信息框结束控制字元,在这些状态中,如果可以决定损坏控制字元的最有可能值,那么便可以预测信息框结束控制字元;同理,只有当接收器200处于数据接收中状态、直接存储器存取结束状态、暂停响应状态、暂停状态或当传送器100处于暂停响应状态、暂停状态或数据传送状态时,才会预期接收暂停控制字元、暂停响应控制字元以及接续传送控制字元。
除了考虑数据传送以及数据接收的目前状态之外,先前所接收的控制字元或之后接收的控制字元也可用来预测损坏控制字元的值。可以分析三个、四个或五个连续控制字元来决定损坏控制字元的识别身份,其中损坏控制字元可以是被分析的连续控制字元中的一个。
接续传送控制字元会由于其所处于的操作状况而便于被预测出来,如图2所示,接续传送控制字元永远跟随于两个相同的控制字元之后,而且常常后续会跟随着加扰数据,由于使用接续传送控制字元防止重复传送相同的控制字元,这种做法会存在遭受电磁干扰的问题。因为接续传送控制字元紧跟随于两个完全相同的控制字元之后,如此一来,这样的特定数据类型便会使得接续传送控制字元容易被预测,也就是说,如果一损坏控制字元紧跟于两个完全相同的控制字元之后,这个损坏控制字元便很可能是接续传送控制字元,另一方面,如果一接续传送控制字元紧跟于两个控制字元之后,其中一个控制字元被损坏而另一个控制字元并未损坏,则这个损坏控制字元可以被预测是与另一个未损坏的控制字元相同。
如图1所示,损坏控制字元中一个或多个字节的内容亦可用来预测该损坏控制字元的实际识别身份。举例来说,当损坏控制字元中第三字节或第四字节具有内容D23.1,则可以预测这个损坏控制字元的识别身份为信息框开始控制字元,除此之外还可以执行进一步的检查以确保预测结果的精确性,也就是说,检查其它字节的内容(例如所述的损坏控制字元的第二、第三以及第四字节)以确认这些字节与其它可能控制位的相对应内容并不相同,此外,每一个损坏控制字元的32或40个位中的片段也可与复数个控制字元中的已知位值作比较以预测所述的损坏控制字元的识别身份。损坏控制字元中一预定数量的位可以与可能的控制字元中一预定数量的位进行比较,举例来说,如果损坏控制字元的40个位中的23个最低有效位(Least Significant Bit,LSB)包含接续传送控制字元的23个最低有效位,那么可以预测这个损坏控制字元为接续传送控制字元。
信息框结束控制字元也可利用相同的方法来预测。当损坏控制字元的第一字节具有内容K28.3、第二字节具有内容D21.5以及第三字节或第四字节具有内容D21.6,则可以预测这个损坏控制字元的识别身份为信息框结束控制字元。也可以执行更进一步的检查来确认所述的损坏控制字元的第三字节以及第四字节与其它可能控制字元中相对应的内容不相同。
当损坏控制字元的第一字节具有内容K28.3、第二字节具有内容D10.5以及第三字节或第四字节具有内容D25.4时,可以预测这个损坏控制字元的识别身份为接续传送控制字元。也可以执行更进一步的检查来确认所述的损坏控制字元的第二字节、第三字节以及第四字节与其它可能控制字元相对应的内容不相同。
当损坏控制字元的第一字节具有内容K28.3、第二字节具有内容D10.5以及第三字节或第四字节具有内容D21.6时,可以预测这个损坏控制字元的识别身份为暂停控制字元也可以执行更进一步的检查来确认所述的损坏控制字元的第三字节以及第四字节与其它可能控制字元相对应的内容不相同。
当损坏控制字元的第一字节具有内容K28.3、第二字节具有内容D10.5以及第三字节或第四字节具有内容D21.4时,可以预测这个损坏控制字元的识别身份为暂停响应控制字元也可以执行更进一步的检查来确认所述的损坏控制字元的第三字节以及第四字节与其它可能控制字元相对应的内容不相同。
请参照图3,图3为依据本发明第一实施例所绘的控制字元预测系统300的功能方块图。如图3所示,控制字元预测系统300包含控制字元解码电路302、延迟电路304以及控制字元编码规则表306。控制字元解码电路302用来接收一连串的控制字元作为输入信号,在控制字元解码电路302接收每一个控制字元期间,如果控制字元损坏,控制字元解码电路302则会预测控制字元的值,并将这个控制字元送到延迟电路304,延迟电路304便加入一控制字元周期的延迟,并且于控制字元解码电路302接收下一个控制字元时,输出先前所接收的控制字元至控制字元解码电路302。此外,控制字元解码电路302从控制字元编码规则表306读取信息以决定控制字元应所述的要有的实际位以及字节的数值。而控制字元解码电路302便利用一个或更多个先前接收的控制字元、目前接收的控制字元以及依据控制字元编码规则表306所对应的标准控制字元的数值等信息来预测损坏控制字元的值。
请参照图4,图4为依据本发明第二实施例所绘的控制字元预测系统320的功能方块图。如图4所示,控制字元预测系统320包含控制字元解码电路322、控制字元编码规则表326以及控制逻辑电路324。控制字元解码电路322接收一连串的控制字元来作为输入信号,并预测控制字元的值以及输出预测控制字元。其中会复制一份预测控制字元并传送到控制逻辑电路324,用来不断追踪数据传送以及数据接收的目前状态。控制逻辑324将输出目前状态到控制字元解码电路322,控制字元解码电路322将利用这些信息连同从控制字元编码规则表326所得到的信息来预测损坏控制字元的值。
请参照图5,图5为依据本发明第三实施例所绘的控制字元预测系统340的功能方块图。控制字元预测系统340与图3所示的控制字元预测系统300相似,但有一些小小的差异:图5的延迟电路344具有不同的配置方式。同时输入所接收的控制字元至延迟电路344以及控制字元解码电路342,而控制字元解码电路342也接收先前从延迟电路344所接收的控制字元,且控制字元解码电路342利用先前所接收的控制字元的信息连同目前接收的控制字元及控制字元编码规则表346所读取的信息来预测损坏控制字元的值。
请参照图6,图6为依据本发明第四实施例所绘的控制字元预测系统360的功能方块图。如图6所示,控制字元预测系统360包含控制字元解码电路362以及控制字元编码规则表364。控制字元解码电路362接收一目前控制字元并且比较所述的目前控制字元的位以及字节与包含在控制字元编码规则表364的标准控制字元值。其中于复数个候选标准控制字元中,会依据最相近的一标准控制字元来预测所述的目前控制字元。而为了能让损害控制字元在内容上比起其它的候选控制字元更接近一特定候选控制字元,则损坏控制字元与所述的特定候选控制字元之间的海明距离(hamming distance)比起其它的候选控制字元来说最小。海明距离经由对候选控制字元以及损坏控制字元两者中的位以一个位接一个位的方式来执行互斥或(XOR)运算而量测出来。
请注意,损坏控制字元的识别身份的预测并不限定于信息框开始控制字元、暂停控制字元、暂停响应控制字元、接续传送控制字元以及信息框结束控制字元,对于其它的控制字元而言,亦可利用与这5个控制字元相同的预测方法来达到预测暨修正所述的损坏控制字元的目的,亦属本发明的范畴。然而,这5个控制字元的不正确预测可能导致传送器100以及接收器200之间的通讯以及数据传输停滞或悬宕,所以正确的预测操作是特别的重要。为了得到最好的结果,可以同时使用状态信息以及字节内容的比较来预测损坏控制字元的识别身份,一但确定了损坏控制字元的识别身份,预测控制字元便取代损坏控制字元以排除传送器100以及接收器200之间的通讯以及数据传输的问题。请注意,上述方法适用于SATA规格或串行附接小型计算机系统接口(Serial-Attached SCSI,SAS)规格以及其它类似的通讯标准。
除了预测损坏控制字元的识别身份之外,可以由同时分析先前所接收的控制字元以及紧接着该先前所接收的控制字元的目前接收控制字元,检测不正确的控制字元。举例来说,如果先前所接收的控制字元为接收正确控制字元而目前所接收的控制字元为接收错误控制字元,由于接收错误控制字元不会紧随着接收正确控制字元,那么便可推论目前所接收的控制字元为不正确的控制字元;同理,如果先前所接收的控制字元为预备传送控制字元而目前所接收的控制字元为等待结束控制字元,由于等待结束控制字元不会紧随着预备传送控制字元,那么便可推论目前所接收的控制字元为不正确的控制字元。所以,即使目前所接收的控制字元为有效控制字元并且遵守SATA规格,仍然可以检测出不正确的控制字元。
以上所述仅为本发明的较佳实施例,仅用于说明本发明,而非用于限定本发明,凡依本发明权利要求书所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (16)

1.一种在一SATA主控装置以及一SATA外围装置之间所传送的控制字元的修正方法,所述的方法包含有:
分析一数据传送或数据接收的目前状态、一先前传送的控制字元或一先前接收的控制字元;
依据所述的数据传送或数据接收的目前状态、所述的先前传送的控制字元或所述的先前接收的控制字元中的至少之一来选择至少一候选控制字元;
依据所述的至少一候选控制字元以及一接收到之当前控制字元产生一预测控制字元,以预测一当前控制字元的识别身份;
以及
当所述的预测控制字元与所述的当前控制字元不同时,以所述的预测控制字元取代所述的当前控制字元。
2.如权利要求1所述的方法,其特征在于,当所述的接收到之当前控制字元的至少一字节具有的内容与一特定候选控制字元中一相对应字节的内容相同时,则预测所述的当前控制字元的识别身份为所述的特定候选控制字元。
3.如权利要求1所述的方法,其特征在于,当所述的接收到之当前控制字元的N字节中的M字节具有的内容与一特定候选控制字元中一相对应字节的内容相同时,则预测所述的当前控制字元的识别身份为所述的特定候选控制字元,其中M以及N为整数,且M小于N。
4.如权利要求1所述的方法,其特征在于,当所述的接收到之当前控制字元的片段具有的内容与一特定候选控制字元中一相对应位的内容相同时,则预测所述的当前控制字元的识别身份为所述的特定候选控制字元。
5.如权利要求1所述的方法,其特征在于,当所述的接收到之当前控制字元在内容上相较于其它候选控制字元更接近于一特定候选控制字元时,则预测所述的当前控制字元的识别身份为所述的特定候选控制字元。
6.如权利要求1所述的方法,其特征在于,所述的候选控制字元选自包含一信息框开始控制字元、一信息框结束控制字元、一接续传送控制字元、一暂停控制字元以及一暂停响应控制字元的群组。
7.如权利要求1所述的方法,其特征在于,当所述的目前状态为一预备接收状态、所述的所接收之当前控制字元的一第三字节或一第四字节具有D23.1的内容,则预测所述的当前控制字元的识别身份为一信息框开始控制字元。
8.如权利要求1所述的方法,其特征在于,当分析所述的先前接收控制字元为一预备传送控制字元以及所述的所接收之当前控制字元的一第三字节具有D23.1的内容或所述所接收之当前控制字一第四字节具有D23.1的内容时,则预测所述的当前控制字元的识别身份为一信息框开始控制字元。
9.如权利要求1所述的方法,其特征在于,当所述的数据传送或数据接收的目前状态指示所述的所接收之当前控制字元为在一接续传送控制字元之前所接收的两个控制字元其中之一时,则预测所述的当前控制字元为所述的两个控制字元中一未损坏的控制字元。
10.一种在SATA主控装置以及一SATA外围装置之间传送的控制字元的修正方法,所述的方法包含有:
将一接收的当前控制字元的至少一位置与复数个可能控制字元的至少一位置进行比较,以产生一比较结果;
依据所述的比较结果来决定一预测控制字元,以预测一当前控制字元的识别身份;
以及
以所述的预测控制字元取代所述的当前控制字元。
11.如权利要求10所述的方法,其特征在于,当所述的所接收的当前控制字元的一第一字节具有K28.3的内容、所述的所接收的控制字元的一第三字节或一第四字节具有D23.1的内容以及所述的所接收的控制字元的一第二、所述的第三以及第四字节的内容与其它的可能控制字元中相对应的内容不相同时,则预测所述的当前控制字元的识别身份为一信息框开始控制字元。
12.如权利要求10所述的方法,其特征在于,当所述的所接收的当前控制字元的一第一字节具有K28.3的内容、所述的所接收的控制字元的一第二字节具有D21.5的内容、所述的所接收的控制字元的一第三字节或一第四字节具有D21.6的内容以及所述的所接收的控制字元的所述的第三、第四字节的内容与其它的可能控制字元中相对应的内容不相同时,则预测所述的当前控制字元的识别身份为一信息框结束控制字元。
13.如权利要求10所述的方法,其特征在于,当所述的所接收的当前控制字元的一第一字节具有K28.3的内容、所述的所接收的控制字元的一第三字节或一第四字节具有D25.4的内容以及所述的所接收的控制字元的一第二、所述的第三以及第四字节的内容与其它的可能控制字元中相对应的内容不相同时,则预测所述的当前控制字元的识别身份为一接续传送控制字元。
14.如权利要求10所述的方法,其特征在于,当所述的所接收的当前控制字元的一第一字节具有K28.3的内容、所述的所接收的当前控制字元的一第二字节具有D10.5的内容以及所述的所接收的当前控制字元的一第三字节或一第四字节具有D25.4的内容时,则预测所述的当前控制字元的识别身份为一接续传送控制字元,其中所述的所接收的当前控制字元的所述的第三、第四字节的内容与其它的可能控制字元中相对应的内容不相同。
15.如权利要求10所述的方法,其特征在于,当所述的所接收的当前控制字元的一第一字节具有K28.3的内容、所述的所接收的当前控制字元的一第二字节具有D10.5的内容、所述的所接收的当前控制字元的一第三字节或一第四字节具有D21.6的内容以及所述的所接收的当前控制字元的所述的第三、第四字节的内容与其它的可能控制字元中相对应的内容不相同时,则预测所述的当前控制字元的识别身份为一暂停控制字元。
16.如权利要求10所述的方法,其特征在于,当所述的所接收的当前控制字元的一第一字节具有K28.3的内容、所述的所接收的当前控制字元的一第二字节具有D10.5的内容、所述的所接收的当前控制字元的一第三字节或一第四字节具有D21.4的内容以及所述的所接收的当前控制字元的所述的第三、第四字节的内容与其它的可能控制字元中相对应的内容不相同时,则预测所述的当前控制字元的识别身份为一暂停响应控制字元。
CN201010225259.8A 2006-02-10 2007-02-12 Sata主控装置及sata外围装置之间所传送的损坏控制字元的检测及修正方法 Active CN101882096B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US76677106P 2006-02-10 2006-02-10
US60/766,771 2006-02-10
US11/456,077 US7634692B2 (en) 2006-02-10 2006-07-06 SATA primitive prediction and correction
US11/456,077 2006-07-06
CN2007100840409A CN101025704B (zh) 2006-02-10 2007-02-12 Sata主控装置及sata外围装置之间所传送的损坏控制字元的修正方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2007100840409A Division CN101025704B (zh) 2006-02-10 2007-02-12 Sata主控装置及sata外围装置之间所传送的损坏控制字元的修正方法

Publications (2)

Publication Number Publication Date
CN101882096A true CN101882096A (zh) 2010-11-10
CN101882096B CN101882096B (zh) 2016-02-17

Family

ID=38368545

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2007100840409A Active CN101025704B (zh) 2006-02-10 2007-02-12 Sata主控装置及sata外围装置之间所传送的损坏控制字元的修正方法
CN201010225259.8A Active CN101882096B (zh) 2006-02-10 2007-02-12 Sata主控装置及sata外围装置之间所传送的损坏控制字元的检测及修正方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2007100840409A Active CN101025704B (zh) 2006-02-10 2007-02-12 Sata主控装置及sata外围装置之间所传送的损坏控制字元的修正方法

Country Status (3)

Country Link
US (2) US7634692B2 (zh)
CN (2) CN101025704B (zh)
TW (1) TWI328162B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634692B2 (en) * 2006-02-10 2009-12-15 Mediatek Inc. SATA primitive prediction and correction
US7747796B1 (en) * 2007-12-20 2010-06-29 Nvidia Corporation Control data transfer rates for a serial ATA device by throttling values to control insertion of align primitives in data stream over serial ATA connection
US8856390B1 (en) 2008-03-28 2014-10-07 Western Digital Technologies, Inc. Using device control field to implement non-disruptive notification of an ATA device
US7827320B1 (en) 2008-03-28 2010-11-02 Western Digital Technologies, Inc. Serial ATA device implementing intra-command processing by detecting XRDY primitive while in the XRDY state
US8261156B2 (en) * 2008-09-11 2012-09-04 Lsi Corporation Methods and apparatuses for correcting errors in data streams
US10795797B2 (en) * 2011-11-25 2020-10-06 Nxp Usa, Inc. Controller, SATA system and method of operation therefor
US9632711B1 (en) 2014-04-07 2017-04-25 Western Digital Technologies, Inc. Processing flush requests by utilizing storage system write notifications
US9645752B1 (en) 2014-04-07 2017-05-09 Western Digital Technologies, Inc. Identification of data committed to non-volatile memory by use of notification commands
EP3160049A1 (en) * 2015-10-19 2017-04-26 Thomson Licensing Data processing method and device for recovering valid code words from a corrupted code word sequence
CN106354686B (zh) * 2016-08-22 2019-03-26 广州慧睿思通信息科技有限公司 一种基于fpga的sata接口数据流控制器及控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343367B1 (en) * 1999-03-29 2002-01-29 Maxtor Corporation Error correction system for five or more errors
US20040260994A1 (en) * 2003-06-23 2004-12-23 Shmuel Winograd Method for constructing erasure correcting codes whose implementation requires only exclusive ORs
US20050246605A1 (en) * 2004-04-30 2005-11-03 Mediatek Inc. Method for processing noise interference
US20050268199A1 (en) * 2004-04-30 2005-12-01 Mediatek Ink. Method and circuit for reducing SATA transmission data errors by adjusting the period of sending ALIGN primitives
US20060031612A1 (en) * 2004-08-03 2006-02-09 Bashford Patrick R Methods and structure for assuring correct data order in SATA transmissions over a SAS wide port

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9614561D0 (en) * 1996-07-11 1996-09-04 4Links Ltd Communication system with improved code
US6763477B1 (en) * 2000-07-31 2004-07-13 Hewlett-Packard Development Company, L.P. Method and apparatus for transmitting and receiving data using a self clocking link protocol
US7257163B2 (en) * 2001-09-12 2007-08-14 Silicon Image, Inc. Method and system for reducing inter-symbol interference effects in transmission over a serial link with mapping of each word in a cluster of received words to a single transmitted word
WO2003032497A1 (fr) * 2001-10-03 2003-04-17 Sony Corporation Procede de codage et de decodage
DE10214700B4 (de) 2002-04-03 2006-02-23 Advanced Micro Devices, Inc., Sunnyvale Kombinierter ATA/SATA-Controller als integrierter Schaltkreischip und dazugehöriges Verfahren zum Betreiben
US6983338B2 (en) 2003-04-01 2006-01-03 Dell Products L.P. Coupling device for connectors wherein coupling device comprises multiplexer unit for selectiving first mode for SATA channel and second mode that establishes loop back function
US7523235B2 (en) * 2003-06-11 2009-04-21 Lsi Corporation Serial Advanced Technology Attachment (SATA) switch
KR100523488B1 (ko) * 2003-07-15 2005-10-24 한국전자통신연구원 Mb810 인코더/디코더, 듀얼 모드 인코더/디코더, 및mb810 코드 생성 방법
TWI269968B (en) * 2004-04-22 2007-01-01 Mediatek Inc Method for processing the noise in the SATA
US7865803B2 (en) * 2004-04-30 2011-01-04 Mediatek Inc. Method for processing noise interference in data accessing device with serial advanced technology attachment (SATA) interface
US7634692B2 (en) * 2006-02-10 2009-12-15 Mediatek Inc. SATA primitive prediction and correction
US7650540B2 (en) * 2006-07-21 2010-01-19 Intel Corporation Detecting and differentiating SATA loopback modes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343367B1 (en) * 1999-03-29 2002-01-29 Maxtor Corporation Error correction system for five or more errors
US20040260994A1 (en) * 2003-06-23 2004-12-23 Shmuel Winograd Method for constructing erasure correcting codes whose implementation requires only exclusive ORs
US20050246605A1 (en) * 2004-04-30 2005-11-03 Mediatek Inc. Method for processing noise interference
US20050268199A1 (en) * 2004-04-30 2005-12-01 Mediatek Ink. Method and circuit for reducing SATA transmission data errors by adjusting the period of sending ALIGN primitives
US20060031612A1 (en) * 2004-08-03 2006-02-09 Bashford Patrick R Methods and structure for assuring correct data order in SATA transmissions over a SAS wide port

Also Published As

Publication number Publication date
CN101882096B (zh) 2016-02-17
CN101025704B (zh) 2010-09-01
US20070189619A1 (en) 2007-08-16
US8281189B2 (en) 2012-10-02
TW200745839A (en) 2007-12-16
CN101025704A (zh) 2007-08-29
US20100050018A1 (en) 2010-02-25
TWI328162B (en) 2010-08-01
US7634692B2 (en) 2009-12-15

Similar Documents

Publication Publication Date Title
CN101025704B (zh) Sata主控装置及sata外围装置之间所传送的损坏控制字元的修正方法
US11775320B2 (en) Overflow detection and correction in state machine engines
CN103714029B (zh) 新型二线同步通信协议及应用
US10949290B2 (en) Validation of a symbol response memory
US11892955B2 (en) System and method for bypass memory read request detection
WO2023202182A1 (zh) 后端服务器管理方法、装置、可读介质及电子设备
US7606253B2 (en) Successful transactions
JP4455393B2 (ja) プログラマブルロジックコントローラ
CN115699668A (zh) 宽弹性缓冲器
US20050154956A1 (en) Detection of errors
CN109039813A (zh) 一种检测因特网接入的方法、系统及设备
US11804977B2 (en) Monitoring controller area network (CAN) XL nodes
EP4092970A1 (en) Monitoring controller area network (can) xl nodes
JP4649304B2 (ja) 通信制御装置およびその制御方法
CN108028530A (zh) 应用于数字集成电路的esd检测装置、集成电路及方法
JP5364641B2 (ja) 情報処理装置
CN117222992A (zh) 用于旁路存储器读取请求检测的系统和方法
WO2022256153A1 (en) System and method for bypass memory read request detection
JP2003271466A (ja) Usbブリッジ回路
CN117242441A (zh) 数据传输电路、芯片和终端
JP2004021316A (ja) 通信方法、電子機器、および通信プログラム
JPH0498411A (ja) キーボードインタフェースエミュレーション装置
JPH098863A (ja) 通信プロトコル制御装置
JPH0234071B2 (zh)
JPH06301614A (ja) 薬剤揮散性を有する中空繊維及び薬剤揮散方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant