CN101025704B - Sata主控装置及sata外围装置之间所传送的损坏控制字元的修正方法 - Google Patents
Sata主控装置及sata外围装置之间所传送的损坏控制字元的修正方法 Download PDFInfo
- Publication number
- CN101025704B CN101025704B CN2007100840409A CN200710084040A CN101025704B CN 101025704 B CN101025704 B CN 101025704B CN 2007100840409 A CN2007100840409 A CN 2007100840409A CN 200710084040 A CN200710084040 A CN 200710084040A CN 101025704 B CN101025704 B CN 101025704B
- Authority
- CN
- China
- Prior art keywords
- control character
- content
- byte
- described damage
- damage control
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Information Transfer Between Computers (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供一种在一序列式进阶技术附接主控装置以及一SATA外围装置之间所传送的损坏控制字元的修正方法,所述的方法包含有:检测一损坏控制字元的出现;分析一目前状态、一先前传送的控制字元或一先前接收的控制字元;依据所述的目前状态、所述的先前传送的控制字元以及所述的先前接收的控制字元的至少其中之一来选择至少一候选控制字元;依据所述的候选控制字元以及所述的损坏控制字元来预测所述的损坏控制字元的一识别身份以决定一预测控制字元;以及以所述的预测控制字元取代所述的损坏控制字元。
Description
技术领域
本发明是关于序列式进阶技术附接(serial advanced technology attachment,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 of frame,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主控装置以及一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 (35)
1.一种在一SATA主控装置以及一SATA外围装置之间所传送的损坏控制字元的修正方法,其特征在于,所述的方法包含有:
检测一损坏控制字元的出现;
分析一数据传送或数据接收的目前状态、一先前传送的控制字元或一先前接收的控制字元;
依据所述分析的数据传送或数据接收的目前状态、先前传送的控制字元或先前接收的控制字元来选择至少一候选控制字元;
依据所述的至少一候选控制字元以及所述的损坏控制字元来预测所述的损坏控制字元的识别身份并决定一预测控制字元;
以及以所述的预测控制字元取代所述的损坏控制字元。
2.如权利要求1所述的方法,其特征在于,当所述的损坏控制字元的至少一字节具有的内容与一特定候选控制字元中相对应字节的内容相同时,则预测所述的损坏控制字元的识别身份为所述的特定候选控制字元。
3.如权利要求1所述的方法,其特征在于,当所述的损坏控制字元的N字节中的M字节具有的内容与一特定候选控制字元中相对应字节的内容相同时,则预测所述的损坏控制字元的识别身份为所述的特定候选控制字元,M及N均为整数,且M小于N。
4.如权利要求3所述的方法,其特征在于,M为1、2或3,以及N等于4。
5.如权利要求1所述的方法,其特征在于,当所述的损坏控制字元的片段具有的内容与一特定候选控制字元中相对应位的内容相同时,则预测所述的损坏控制字元的识别身份为所述的特定候选控制字元。
6.如权利要求1所述的方法,其特征在于,当所述的损坏控制字元在内容上相较于其它候选控制字元更接近于一特定候选控制字元时,则预测所述的损坏控制字元的识别身份为所述的特定候选控制字元。
7.如权利要求6所述的方法,其特征在于,当所述的损坏控制字元在内容上相较于其它候选控制字元更接近于一特定候选控制字元时,所述的损坏控制字元以及所述的特定候选控制字元之间的海明距离相较于所述的损坏控制字元与其它候选控制字元的海明距离而言为最小。
8.如权利要求7所述的方法,其特征在于,所述的海明距离由一个位接着一个位的方式执行一互斥或运算来量测。
9.如权利要求1所述的方法,其特征在于,所述的损坏控制字元具有40个位或32个位。
10.如权利要求2所述的方法,其特征在于,所述的特定候选控制字元选自包含一信息框开始控制字元、一信息框结束控制字元、一接续传送控制字元、一暂停控制字元以及一暂停响应控制字元的群组。
11.如权利要求2所述的方法,其特征在于,所述的特定候选控制字元为使用于SATA规格或SAS规格的控制字元。
12.如权利要求1所述的方法,其特征在于,当所述的数据传送或数据接收的目前状态为一预备接收状态、所述的损坏控制字元的一第三字节或一第四字节具有D23.1的内容以及所述的先前传送控制字元为一预备传送控制字元时,则预测所述的损坏控制字元的识别身份为一信息框开始控制字元。
13.如权利要求1所述的方法,其特征在于,当分析所述的先前接收控制字元为一预备传送控制字元以及所述的损坏控制字元的一第三字节具有D23.1的内容或所述的损坏控制字元的一第四字节具有D23.1的内容时,则预测所述的损坏控制字元的识别身份为一信息框开始控制字元。
14.如权利要求1所述的方法,其特征在于,当数据接收的所述目前状态指示一数据接收中状态、一直接存储器存取结束状态、一暂停状态或一暂停响应状态且所述的损坏控制字元的一第一字节具有K28.3的内容、所述的损坏控制字元的一第二字节具有D21.5的内容以及所述的损坏控制字元的一第三字节或一第四字节具有D21.6的内容时,则预测所述的损坏控制字元的识别身份为一信息框结束控制字元。
15.如权利要求1所述的方法,其特征在于,所述的方法另包含有:
判断所述的目前状态为数据接收状态、所述的损坏控制字元的一第一字节具有K28.3的内容以及所述的损坏控制字元的一第二字节具有D21.5的内容,以预测所述的损坏控制字元的识别身份为一信息框结束控制字元。
16.如权利要求1所述的方法,其特征在于,当所述的数目前状态指示一数据接收中状态、一直接存储器存取结束状态、一暂停状态、一暂停响应状态或数据传送状态,并且所述的损坏控制字元的一第一字节具有K28.3的内容以及所述的损坏控制字元的一第三字节或一第四字节具有D25.4的内容时,则预测所述的损坏控制字元的识别身份为一接续传送控制字元。
17.如权利要求1所述的方法,其特征在于,预测所述的损坏控制字元的识别身份的步骤另包含有:
判断两个先前接收控制字元为相同的控制字元,所述的损坏控制字元的一第一字节具有K28.3的内容以及所述的损坏控制字元的一第三字节或一第四字节具有D25.4的内容,来预测所述的损坏控制字元的识别身份为一接续传送控制字元。
18.如权利要求1所述的方法,其特征在于,当所述目前状态指示一数据接收中状态、一直接存储器存取结束状态、一暂停状态、一暂停响应状态或一数据传送状态以及所述的损坏控制字元的一第一字节具有K28.3的内容、所述的损坏控制字元的一第二字节具有D10.5的内容以及所述的损坏控制字元的一第三字节或一第四字节具有D21.6的内容时,则预测所述的损坏控制字元的识别身份为一暂停控制字元。
19.如权利要求1所述的方法,其特征在于,所述的方法另包含有:
判断所述的先前接收控制字元为一暂停控制字元以及所述的损坏控制字元的一第一字节具有K28.3的内容以及所述的损坏控制字元的一第三字节或一第四字节具有D21.6的内容,以预测所述的损坏控制字元的识别身份被预测为一暂停控制字元。
20.如权利要求1所述的方法,其特征在于,当所述数据传送或数据接收的目前状态指示一数据接收中状态、一直接存储器存取结束状态、一暂停状态或一暂停响应状态、所述的损坏控制字元的一第一字节具有K28.3的内容、所述的损坏控制字元的一第二字节具有D10.5的内容以及所述的损坏控制字元的一第三字节或一第四字节具有D21.4的内容时,则预测所述的损坏控制字元的识别身份为一暂停响应控制字元。
21.如权利要求1所述的方法,其特征在于,所述的方法另包含有:
判断所述的先前接收控制字元为一暂停响应控制字元、所述的损坏控制字元的一第一字节具有K28.3的内容以及所述的损坏控制字元的一第三字节或一第四字节具有D21.4的内容,以预测所述的损坏控制字元的识别身份为一暂停响应控制字元。
22.如权利要求1所述的方法,其特征在于,当所述数据传送或数据接收的目前状态指示一损坏控制字元为在一接续传送控制字元之前所接收的两个控制字元其中之一时,则预测所述的损坏控制字元为所述的两个控制字元中一未损坏的控制字元。
23.一种在SATA主控装置以及一SATA外围装置之间传送的损坏控制字元的修正方法,其特征在于,所述的方法包含有:
检测一损坏控制字元的出现;比较所述的损坏控制字元的字节内容以及字节位置与复数个可能控制字元的字节内容以及字节位置;
依据字节内容以及字节位置的一比较结果来预测所述的损坏控制字元的一识别身份以决定一预测控制字元;
以及以所述的预测控制字元取代所述的损坏控制字元。
24.如权利要求23所述的方法,其特征在于,所述的可能控制字元为用于SATA规格或SAS规格中的控制字元。
25.如权利要求23所述的方法,其特征在于,所述的字节内容以10位或8位格式来储存。
26.如权利要求23所述的方法,其特征在于,当所述的损坏控制字元的一第一字节具有K28.3的内容、所述的损坏控制字元的一第三字节或一第四字节具有D23.1的内容以及所述的损坏控制字元的所述的第二、第三以及第四字节的内容与其它的可能控制字元中相对应的内容不相同时,则预测所述的损坏控制字元的识别身份为一信息框开始控制字元。
27.如权利要求23所述的方法,其特征在于,当所述的损坏控制字元的一第一字节具有K28.3的内容、所述的损坏控制字元的一第二字节具有D21.5的内容、所述的损坏控制字元的一第三字节或一第四字节具有D21.6的内容以及所述的损坏控制字元的所述的第三、第四字节的内容与其它的可能控制字元中相对应的内容不相同时,则预测所述的损坏控制字元的识别身份为一信息框结束控制字元。
28.如权利要求23所述的方法,其特征在于,当所述的损坏控制字元的一第一字节具有K28.3的内容、所述的损坏控制字元的一第三字节或一第四字节具有D25.4的内容以及所述的损坏控制字元的第二、第三以及第四字节的内容与其它的可能控制字元中相对应的内容不相同时,则预测所述的损坏控制字元的识别身份为一接续传送控制字元。
29.如权利要求23所述的方法,其特征在于,当所述的损坏控制字元的一第一字节具有K28.3的内容、所述的损坏控制字元的一第二字节具有D10.5的内容以及所述的损坏控制字元的一第三字节或一第四字节具有D25.4的内容时,则预测所述的损坏控制字元的识别身份为一接续传送控制字元,其中所述的损坏控制字元的所述的第三、第四字节的内容与其它的可能控制字元中相对应的内容不相同。
30.如权利要求23所述的方法,其特征在于,当所述的损坏控制字元的一第一字节具有K28.3的内容、所述的损坏控制字元的一第二字节具有D10.5的内容、所述的损坏控制字元的一第三字节或一第四字节具有D21.6的内容以及所述的损坏控制字元的所述的第三、第四字节的内容与其它的可能控制字元中相对应的内容不相同时,则预测所述的损坏控制字元的识别身份为一暂停控制字元。
31.如权利要求23所述的方法,其特征在于,当所述的损坏控制字元的一第一字节具有K28.3的内容、所述的损坏控制字元的一第二字节具有D10.5的内容、所述的损坏控制字元的一第三字节或一第四字节具有D21.4的内容以及所述的损坏控制字元的所述的第三、第四字节的内容与其它的可能控制字元中相对应的内容不相同时,则预测所述的损坏控制字元的识别身份为一暂停响应控制字元。
32.一种在一SATA主控装置以及一SATA外围装置之间传送的损坏控制字元的修正方法,其特征在于,所述的方法包含有:
检测一损坏控制字元的出现;比较所述的损坏控制字元的部分内容与复数个可能控制字元的部分内容;
依据一比较结果来预测所述的损坏控制字元的一识别身份以决定一预测控制字元;
以及以所述的预测控制字元取代所述的损坏控制字元。
33.如权利要求32所述的方法,其特征在于,比较所述的损坏控制字元的部分内容与可能控制字元的部分内容的步骤由比较所述的损坏控制字元中一预定数量的位与所述的可能控制字元中一预定数量的位来实现。
34.一种在一SATA主控装置以及一SATA外围装置之间传送的损坏控制字元的修正方法,其特征在于,所述的方法包含有:
检测一损坏控制字元的出现;
分析三个、四个或五个连续接收的控制字元;
依据所述的三个、四个或五个连续接收的控制字元来预测所述的损坏控制字元的一识别身份以决定一预测控制字元;
以及以所述的预测控制字元取代所述的损坏控制字元。
35.如权利要求34所述的方法,其特征在于,所述的损坏控制字元为所述的三个连续接收的控制字元的其中之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010225259.8A CN101882096B (zh) | 2006-02-10 | 2007-02-12 | Sata主控装置及sata外围装置之间所传送的损坏控制字元的检测及修正方法 |
Applications Claiming Priority (4)
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 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010225259.8A Division CN101882096B (zh) | 2006-02-10 | 2007-02-12 | Sata主控装置及sata外围装置之间所传送的损坏控制字元的检测及修正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101025704A CN101025704A (zh) | 2007-08-29 |
CN101025704B true CN101025704B (zh) | 2010-09-01 |
Family
ID=38368545
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010225259.8A Active CN101882096B (zh) | 2006-02-10 | 2007-02-12 | Sata主控装置及sata外围装置之间所传送的损坏控制字元的检测及修正方法 |
CN2007100840409A Active CN101025704B (zh) | 2006-02-10 | 2007-02-12 | Sata主控装置及sata外围装置之间所传送的损坏控制字元的修正方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010225259.8A Active CN101882096B (zh) | 2006-02-10 | 2007-02-12 | Sata主控装置及sata外围装置之间所传送的损坏控制字元的检测及修正方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7634692B2 (zh) |
CN (2) | CN101882096B (zh) |
TW (1) | TWI328162B (zh) |
Families Citing this family (10)
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 |
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 |
US9632711B1 (en) | 2014-04-07 | 2017-04-25 | Western Digital Technologies, Inc. | Processing flush requests by utilizing storage system write notifications |
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接口数据流控制器及控制方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9614561D0 (en) * | 1996-07-11 | 1996-09-04 | 4Links Ltd | Communication system with improved code |
US6343367B1 (en) * | 1999-03-29 | 2002-01-29 | Maxtor Corporation | Error correction system for five or more errors |
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 |
JP4016207B2 (ja) * | 2001-10-03 | 2007-12-05 | ソニー株式会社 | 符号化方法および復号方法 |
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 |
US7020357B2 (en) | 2003-04-01 | 2006-03-28 | Dell Products L.P. | Coupling device for an electronic device |
US7523235B2 (en) | 2003-06-11 | 2009-04-21 | Lsi Corporation | Serial Advanced Technology Attachment (SATA) switch |
US7350126B2 (en) * | 2003-06-23 | 2008-03-25 | International Business Machines Corporation | Method for constructing erasure correcting codes whose implementation requires only exclusive ORs |
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 |
TWI252471B (en) | 2004-04-30 | 2006-04-01 | Mediatek Inc | Method and circuit for reducing SATA data transmission errors by adjusting the period of sending align primitive |
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 |
TWI242716B (en) * | 2004-04-30 | 2005-11-01 | Mediatek Inc | Method for processing interference of noise |
US7676613B2 (en) * | 2004-08-03 | 2010-03-09 | Lsi Corporation | Methods and structure for assuring correct data order in SATA transmissions over a SAS wide port |
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 |
-
2006
- 2006-07-06 US US11/456,077 patent/US7634692B2/en active Active
-
2007
- 2007-02-09 TW TW096104787A patent/TWI328162B/zh active
- 2007-02-12 CN CN201010225259.8A patent/CN101882096B/zh active Active
- 2007-02-12 CN CN2007100840409A patent/CN101025704B/zh active Active
-
2009
- 2009-11-03 US US12/611,926 patent/US8281189B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW200745839A (en) | 2007-12-16 |
US7634692B2 (en) | 2009-12-15 |
US20100050018A1 (en) | 2010-02-25 |
CN101882096B (zh) | 2016-02-17 |
TWI328162B (en) | 2010-08-01 |
CN101025704A (zh) | 2007-08-29 |
US20070189619A1 (en) | 2007-08-16 |
US8281189B2 (en) | 2012-10-02 |
CN101882096A (zh) | 2010-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101025704B (zh) | Sata主控装置及sata外围装置之间所传送的损坏控制字元的修正方法 | |
CN112543925B (zh) | 用于使用专用低延迟链路的多个硬件加速器的统一地址空间 | |
CN101082875B (zh) | 减小在指令跟踪过程中产生的数据流的大小 | |
CN103714029B (zh) | 新型二线同步通信协议及应用 | |
US20090183058A1 (en) | Communications channel interposer, method and program product for verifying integrity of untrusted subsystem responses to a request | |
US10949290B2 (en) | Validation of a symbol response memory | |
US11991022B2 (en) | Monitoring controller area network (CAN) XL nodes | |
US20220382688A1 (en) | System and method for bypass memory read request detection | |
JPH10340212A (ja) | クロック同期バス上の障害を分離する方法 | |
WO2023202182A1 (zh) | 后端服务器管理方法、装置、可读介质及电子设备 | |
US4751630A (en) | Interactive terminal system using a prepoll prior to transferring information from the controller to the work station | |
JP4455393B2 (ja) | プログラマブルロジックコントローラ | |
CN108028530A (zh) | 应用于数字集成电路的esd检测装置、集成电路及方法 | |
JPH06204989A (ja) | データ通信装置 | |
JP4649304B2 (ja) | 通信制御装置およびその制御方法 | |
US11804977B2 (en) | Monitoring controller area network (CAN) XL nodes | |
WO2022256153A1 (en) | System and method for bypass memory read request detection | |
CN117222992A (zh) | 用于旁路存储器读取请求检测的系统和方法 | |
US20130290568A1 (en) | Communicating with Verified Data | |
JP2003271466A (ja) | Usbブリッジ回路 | |
JP2004021316A (ja) | 通信方法、電子機器、および通信プログラム | |
CN118802684A (zh) | 一种多通道独立管道式信息通信设备系统与方法 | |
CN118606239A (zh) | 基于fpga的数据传输方法和系统、电子设备 | |
JPH0498411A (ja) | キーボードインタフェースエミュレーション装置 | |
JP2011237869A (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 |