WO2014106429A1 - Sata speed auto-negotiation method and device based on third-party phy - Google Patents

Sata speed auto-negotiation method and device based on third-party phy Download PDF

Info

Publication number
WO2014106429A1
WO2014106429A1 PCT/CN2013/089739 CN2013089739W WO2014106429A1 WO 2014106429 A1 WO2014106429 A1 WO 2014106429A1 CN 2013089739 W CN2013089739 W CN 2013089739W WO 2014106429 A1 WO2014106429 A1 WO 2014106429A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
phy
signal
parallel data
bits
Prior art date
Application number
PCT/CN2013/089739
Other languages
French (fr)
Chinese (zh)
Inventor
丁强
赵远鸿
张帆
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2014106429A1 publication Critical patent/WO2014106429A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a SATA (Serial Advanced Technology Attachment) speed auto-negotiation method and apparatus based on a third-party physical layer protocol (PHY).
  • SATA Serial Advanced Technology Attachment
  • PHY third-party physical layer protocol
  • the SATA controller has the detection capability of the OOB (Out Of Band) signal for the PHY, and can complete the entire hardware initialization according to the timing of the OOB signal, and the hardware initialization must be performed at the rate of the first generation (Genl, Generationl). After the initialization at Genl rate, for the second generation (Gen2, Generation) and above SATA controllers, it is required to complete the rate switching from Genl to Gen2, so that the controller can enter the higher rate mode that can be supported.
  • OOB Out Of Band
  • the parallel data recovered by the PHY usually has a 50% probability of byte shifting, that is, the data is not aligned.
  • the byte shift of the OOB signal may cause the OOB signal detection to fail, or
  • the controller internally detects the OOB signal only with low or high level detection, and the rate negotiation signal does not match. This may cause the controller to fail to enter low power consumption when switching the low power mode.
  • the present invention provides a SATA speed auto-negotiation method and apparatus based on a third-party PHY.
  • the embodiment of the invention provides a SATA speed auto-negotiation method based on a third-party PHY.
  • a SATA speed auto-negotiation method based on a third-party PHY.
  • the OOB signal is sent to the SATA controller
  • the SATA controller After the SATA controller recognizes the OOB signal, it receives a speed selection signal sent by the SATA controller, and sends the speed selection signal to the PHY.
  • Receiving parallel data recovered by the PHY, and performing byte alignment on the parallel data includes: determining whether the SATA controller can detect a lower K code in the parallel data; if the K code is at a high level, switching to a word
  • the logic of the section shift splicing the upper bits of the parallel data and the lower bits of the next data.
  • Receiving the parallel data recovered by the PHY, and performing byte alignment on the parallel data includes: taking the first eight bits of data of the start end of the parallel data, and determining whether the first eight bits of data are K codes;
  • the first eight bits of data are K codes
  • the eight-bit data is the K code; cyclically executing until the K code is detected; and the data after detecting the K code continues to fetch and detect the parallel data in groups of eight bits until Align each byte of the parallel data.
  • the method further includes: initializing the OOB signal, and shaking hands with the SATA controller;
  • Receiving the speed selection signal sent by the SATA controller, and sending the speed selection signal to the PHY includes: Receiving a speed selection signal sent by the SATA controller;
  • the speed selection signal is directly transmitted to the PHY.
  • the method further includes:
  • the speed selection signal is processed into a speed configuration signal that matches the PHY frequency-divided signal.
  • the embodiment of the invention further provides a SATA speed auto-negotiation device based on a third-party PHY, including:
  • a data alignment module configured to receive parallel data recovered by the PHY, and byte aligned the parallel data
  • a logic detection module configured to detect whether the aligned parallel data includes an out-of-band data OOB signal; when the aligned parallel data includes an OOB signal, send the OOB signal to a SATA controller;
  • a rate reconfiguration module configured to: after the SATA controller recognizes the OOB signal, receive a speed selection signal sent by the SATA controller, and send the speed selection signal to the PHY.
  • the data alignment module is further configured to:
  • Determining whether the SATA controller is capable of detecting a K code or a D code in the parallel data if the K code is at a high level, switching to a byte shift logic, lowering a high bit of the parallel data and a lower bit of a next data Splicing.
  • the data alignment module is further configured to:
  • first eight bits of data are K codes
  • the logic detection module is further configured to:
  • the low power state is switched to the normal working state.
  • the rate reconfiguration module is further configured to:
  • the speed selection signal is processed into a speed configuration signal that matches the ⁇ frequency-divided signal.
  • the embodiment of the invention further provides a computer storage medium, the computer storage medium comprising a set of instructions, when executing the instruction, causing at least one processor to perform the third-party-based SATA speed auto-negotiation method.
  • the embodiment of the present invention performs byte alignment on the parallel data by receiving parallel data recovered by the PHY; detecting whether the aligned parallel data contains an OOB signal; if yes, sending the OOB signal to the SATA controller; After the SATA controller recognizes the OOB signal, receiving a speed selection signal sent by the SATA controller, and transmitting the speed selection signal to the PHY, having parallel data for restoring misalignment and enabling
  • the successful completion of the PHY rate switching has effectively solved the problem of connection failure caused by data misalignment or failure of low power mode switching.
  • FIG. 1 is a schematic flow chart of an embodiment of a SATA speed auto-negotiation method based on a third-party PHY according to the present invention
  • FIG. 2 is a schematic structural diagram of an embodiment of a SATA speed auto-negotiation apparatus based on a third-party PHY according to the present invention
  • FIG. 3 is a schematic diagram showing the internal structure of a SATA speed auto-negotiation device based on an Altera PHY according to the present invention.
  • FIG. 1 is a schematic flowchart of a third-party PHY-based SATA speed auto-negotiation method according to an embodiment of the present invention.
  • the SATA speed auto-negotiation method based on a third-party PHY in the embodiment of the present invention includes the following steps:
  • Step S01 Receive parallel data recovered by the PHY, and perform byte alignment on the parallel data.
  • the PHY recovers the parallel data of the received SATA controller, data misalignment usually occurs.
  • the position of the K code and the D code will be placed in the high or low position that the SATA controller cannot recognize, so whether the SATA controller can detect the K code or the D code in the parallel data. Determining whether there is a high or low misalignment in the parallel data;
  • the SATA controller cannot detect the low-order K code in the parallel data, that is, if the SATA controller detects When it is detected that the K code is at the high level, it switches to the byte shift logic, and splicing the parallel data, that is, the upper bits of the current data and the lower bits of the next data.
  • the align primitives in the recovered ⁇ signal should be: 4abc, 7b4a, 4abc, 7b4a, 4abc, 7b4a, and the PHY recovered parallel data appears: bc7b, 4a4a, bc7b,
  • the data of 4a4a and bc7b indicates that the parallel data recovered by the PHY appears to be combined with the lower eight bits of the previous data and the upper eight bits of the latter data into new data when aligned, which results in all the subsequent align data.
  • the above-mentioned misalignment occurs in the data.
  • For parallel data with only high and low bits it is only necessary to combine the lower bits of the previous data with the high bits of the latter data to form new parallel data, and put the K code or D code in the appropriate position;
  • the alignment is adopted: taking the first eight bits of data of the parallel data start end, determining whether the first eight bits of data are K codes; if not, then the first eight Combining the upper seven bits of data in the bit data with the lower one bit data of the next parallel data to form new eight bits of data, again determining whether the new eight bit data is the K code; performing the loop until the detected Said K code; the data after detecting the K code is continued to fetch and detect the parallel data in groups of eight bits until the respective bytes of the parallel data are aligned.
  • the data is recursively detected according to the bit (bit), and the first 8 bits of data are taken to determine whether it is a K code. If it is not a K code, the upper 7 bits of the number are combined with the next bit to form a new one.
  • the 8 bit data again determine whether it is a K code, and so on, until the K code appears, indicating that the edge of the byte is detected, and the subsequent data continues to be detected according to the 8-bit fetch; if non-alignment occurs, then follow this
  • the rules are processed to ensure byte alignment of the parallel data.
  • Step S02 detecting whether the aligned parallel data contains an OOB signal; if yes, executing step S03; if not, returning to step S02;
  • Step S03 Send the OOB signal to the SATA controller.
  • the aligned parallel data contains the OOB signal; if not, then continue to check If yes, the OOB signal is initialized, and the SATA controller is handshaked; after the handshake is successful, when the OOB signal is received again, the low power consumption state is switched to the normal working state.
  • the K28.5 code is extracted from the OOB signal as the COMMA signal output of the SATA controller; since the OOB signal is the K code series, if it is the OOB signal, A regular pulse signal according to the SATA protocol is generated, and after the pulse signal is transmitted to the SATA controller, it can be recognized as an OOB signal by the SATA controller.
  • the valid signal in the parallel data is meaningless at the beginning of the OOB signal initialization.
  • the valid signal in the parallel data and the SATA controller are only handshaking, and the handshake is successful, and The valid OOB signal is used after the OOB signal is initialized. Therefore, the final stage of the OOB signal is detected.
  • the data after the aligned parallel data is always valid. of.
  • the OOB signal interaction is to shake hands with the SATA controller; after the handshake is successful, when the OOB signal appears again, the low power state is switched to the normal working state. In normal operation, the OOB signal is sent to the SATA controller.
  • Step S04 After identifying the OOB signal, the SATA controller receives a speed selection signal sent by the SATA controller, and sends the speed selection signal to the PHY.
  • the OOB signal is a K code series
  • a regular pulse signal according to the SATA protocol is generated, and after the pulse signal is transmitted to the SATA controller, it can be recognized as an OOB signal by the SATA controller;
  • the SATA controller selects a signal according to the speed of the OOB signal, and when there is a frequency-divided signal matching the speed selection signal in the PHY, directly transmitting the speed selection signal to the PHY; when the PHY When there is no frequency-divided signal matching the speed selection signal, the speed selection signal is processed into a speed configuration signal that matches the PHY frequency-divided signal.
  • the PHY needs to match the speed of the SATA controller according to the speed selection signal sent by the SATA controller, and the SATA controller issues a speed level negotiated with the PHY, and selects a signal with the speed. Indicated to the PHY.
  • the speed selection signal is lbit
  • output 0 indicates that the PHY is required to operate in the Genl speed mode
  • output 1 indicates that the PHY is required to operate in the Gen2 speed mode
  • the rate reconfiguration module corresponding to the reconfiguration step in the SATA speed auto-negotiation method of the third-party PHY reconfigures the internal frequency division coefficient, and processes the speed selection signal of the SATA controller as the corresponding reconfiguration module of the PHY. Input, reconfigures the internal partial frequency of the PHY to match the rate required by the SATA controller.
  • the parallel data is received by the PHY, and the parallel data is byte aligned; detecting whether the aligned parallel data includes an OOB signal; if yes, sending the OOB signal to the SATA controller; After the SATA controller recognizes the OOB signal, receiving a speed selection signal sent by the SATA controller, and transmitting the speed selection signal to the PHY, has parallel data that can be restored and misaligned
  • the beneficial effects of PHY rate switching are completed, which effectively solves the problem of connection failure caused by data misalignment or failure of low power mode switching.
  • FIG. 2 is a schematic structural diagram of an SATA speed auto-negotiation apparatus based on a third-party PHY according to the present invention.
  • the SATA speed auto-negotiation apparatus based on the third-party PHY in the embodiment of the present invention includes: a data alignment module. 01. Logic detection module 02 and rate reconfiguration module 03.
  • FIG. 3 is a schematic diagram showing the internal structure of a SATA speed auto-negotiation device based on a third-party PHY according to an embodiment of the present invention.
  • the method for the SATA speed auto-negotiation device based on the third-party PHY is: performing byte alignment on the parallel data by receiving parallel data recovered by the PHY; detecting the aligned Whether the parallel data includes an out-of-band data OOB signal; if yes, sending the OOB signal to a SATA controller; after the SATA controller identifies the OOB signal, receiving a speed selection sent by the SATA controller signal, And transmitting the speed selection signal to the PHY.
  • the signal sent by the SATA speed auto-negotiation device of the third-party PHY to the SATA controller may include: a received data signal, an OOB detection indication signal, a K-code detection signal, and a received data valid signal.
  • the operation of the data alignment module 01, the logic detection module 02, and the rate reconfiguration module 03 in the SATA speed auto-negotiation device based on the third-party PHY will be further described below.
  • the data alignment module 01 is configured to receive parallel data recovered by the PHY, and byte aligned the parallel data.
  • the data alignment module 01 can detect the K code in the parallel data according to the SATA controller. Or the D code to determine whether there is a high or low misalignment in the parallel data;
  • the SATA controller does not detect the lower K code in the parallel data, that is, if it detects that the K code is at the high level, the data alignment module 01 switches to the byte shift logic, and the parallel data is the current data. The high bit is spliced with the lower bits of the next data.
  • the consecutive align primitives in the OOB signal recovered from the PHY should be: 4abc, 7b4a, 4abc, 7b4a, 4abc, 7b4a, and the parallel data of the PHY recovery appears: bc7b, 4a4a, bc7b, 4a4a, bc7b
  • the data indicates that the parallel data recovered by the PHY appears in the alignment when the lower eight bits of the previous data and the upper eight bits of the latter data are combined into new data, which causes all the data following the continuous align data to appear.
  • the data alignment module 01 For parallel data with only high and low bits, the data alignment module 01 only needs to combine the lower bits of the previous data with the upper bits of the latter data to form new parallel data, and place the K code or D code in the appropriate position; For the relatively disordered bit-unaligned data, the data alignment module 01 adopts an alignment manner: taking the first eight bits of data of the parallel data start end, and determining that the first eight bits of data are N is a K code; if not, combining the upper seven bits of the first eight bits of data with the lower one bit of the next parallel data to form new eight bits of data, again determining the new eight bits of data Whether it is the weight; cyclically executing until the weight is detected; and the data after detecting the weight continues to fetch and detect the parallel data in groups of eight bits until the Alignment of each byte of parallel data.
  • the data alignment module 01 performs recursive detection on the data according to the bit, and takes the first 8 bits of data at the beginning to determine whether it is a K code. If it is not a K code, the upper 7 bits of the number are combined with the next bit to form The new 8-bit data, again judge whether it is a K code, and so on, until the K code appears, it means that the edge of the byte is detected, and the subsequent data continues to be detected according to the 8-bit fetch; if non-alignment occurs, then follow This rule is processed to ensure byte alignment of parallel data.
  • the logic detection module 02 is configured to detect whether the aligned parallel data includes an OOB signal; if yes, send the OOB signal to the SATA controller.
  • the logic detecting module 02 detects whether the parallel data of the data alignment module 01 is aligned with the OOB signal; if not, continues to detect; if yes, initializes the OOB signal, and performs handshake with the SATA controller; after the handshake is successful When the OOB signal is received again, the low power consumption state is switched to the normal working state.
  • the logic detection module 02 detects that the aligned parallel data contains the OOB signal
  • the K28.5 code is extracted from the OOB signal as the COMMA signal output of the SATA controller; since the OOB signal is the K code series, if it is OOB The signal, there will be a regular pulse signal according to the SATA protocol. After transmitting the pulse signal to the SATA controller, it can be recognized by the SATA controller as an OOB signal.
  • the valid signal in the parallel data is meaningless at the beginning of the OOB signal initialization.
  • the valid signal in the parallel data and the SATA controller are only handshaking, and the handshake is successful and A valid OOB is used after the OOB signal is initialized.
  • the signal in this way, the logic detection module 02 detects the final stage D10.2 of the OOB signal. When D10.2 is detected, the data following the aligned parallel data is always valid.
  • the logic detection module 02 performs OOB signal interaction for handshake with the SATA controller. After the handshake is successful, when the OOB signal occurs again, the logic detection module 02 switches the low power consumption state to the normal working state. In normal operation, the logic detection module 02 sends an OOB signal to the SATA controller.
  • the rate reconfiguration module 03 is configured to receive a speed selection signal sent by the SATA controller after the SATA controller recognizes the OOB signal, and send the speed selection signal to the PHY.
  • the OOB signal is a K code series
  • the rate reconfiguration module 03 can transmit the pulse signal to the SATA controller, and then can be recognized by the SATA controller.
  • the PHY needs to match the speed of the SATA controller according to the speed selection signal sent by the SATA controller.
  • the SATA controller issues a speed level negotiated with the PHY and indicates to the PHY with a speed selection signal.
  • the speed selection signal is lbit
  • output 0 indicates that the PHY is required to operate in the Genl speed mode
  • output 1 indicates that the PHY is required to operate in the Gen2 speed mode
  • the PHY needs to pass the rate reconfiguration module.
  • the internal partial frequency is reconfigured to achieve a rate that matches the SATA controller requirements.
  • the data alignment module 01, the logic detection module 02, and the rate reconfiguration module 03 can It is implemented by a central processing unit (CPU) in a SATA speed auto-negotiation device based on a third-party PHY, a digital signal processor (DSP), or a Field-Programmable Gate Array (FPGA). .
  • CPU central processing unit
  • DSP digital signal processor
  • FPGA Field-Programmable Gate Array
  • the parallel data is received by the PHY, and the parallel data is byte aligned; detecting whether the aligned parallel data includes an OOB signal; if yes, sending the OOB signal to the SATA controller; After the SATA controller recognizes the OOB signal, receiving a speed selection signal sent by the SATA controller, and transmitting the speed selection signal to the PHY, having parallel data for restoring misalignment and successfully completing the PHY.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware aspects. Moreover, the invention can take the form of a computer program product embodied on one or more computer usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that stored in the computer readable memory
  • the instructions in the reservoir produce an article of manufacture comprising an instruction device that implements the functions specified in one or more blocks of the flow or in a flow or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

Disclosed are an SATA speed auto-negotiation method and device based on a third-party PHY and a computer storage medium. The method comprises: receiving parallel data recovered by a PHY, and performing byte alignment on the parallel data according to K codes; detecting whether the aligned parallel data contain OOB signals; when the aligned parallel data contain OOB signals, sending the OOB signals to an SATA controller; and after the SATA controller identifies the OOB signals, receiving speed selection signals sent by the SATA controller, and sending the speed selection signals to the PHY.

Description

基于笫三方 PHY的 SATA速度自协商方法及装置 技术领域  SATA speed auto-negotiation method and device based on 笫 three-way PHY
本发明涉及计算机技术领域, 尤其涉及一种基于第三方物理层协议 ( PHY , Physical Layer ) 的串行高级技术附件 ( SATA, Serial Advanced Technology Attachment )速度自协商方法及装置。 背景技术  The present invention relates to the field of computer technologies, and in particular, to a SATA (Serial Advanced Technology Attachment) speed auto-negotiation method and apparatus based on a third-party physical layer protocol (PHY). Background technique
SATA控制器对于 PHY具有带外数据 ( OOB, Out Of Band )信号的检 测能力, 并且能够根据 OOB信号的时序完成整个硬件初始化, 硬件初始化 必须在第一代(Genl, Generationl )的速率下进行, 完成 Genl速率下的初 始化后, 对于二代(Gen2, Generation ) 以上的 SATA控制器, 要求能够 完成从 Genl到 Gen2的速率切换, 以便控制器能够进入所能支持的更高速 率模式下工作。  The SATA controller has the detection capability of the OOB (Out Of Band) signal for the PHY, and can complete the entire hardware initialization according to the timing of the OOB signal, and the hardware initialization must be performed at the rate of the first generation (Genl, Generationl). After the initialization at Genl rate, for the second generation (Gen2, Generation) and above SATA controllers, it is required to complete the rate switching from Genl to Gen2, so that the controller can enter the higher rate mode that can be supported.
PHY恢复出来的并行数据,通常会有 50%的概率出现字节移位的情况, 即数据没有对齐, 而对于 SATA控制器来说, OOB信号的字节移位可能导 致 OOB信号检测失败, 或者控制器内部对 OOB信号的检测只进行了低位 或者高位检测, 会出现速率协商信号不匹配的情况, 这样也可能导致控制 器在切换低功耗模式的时候无法进入低功耗。 发明内容  The parallel data recovered by the PHY usually has a 50% probability of byte shifting, that is, the data is not aligned. For the SATA controller, the byte shift of the OOB signal may cause the OOB signal detection to fail, or The controller internally detects the OOB signal only with low or high level detection, and the rate negotiation signal does not match. This may cause the controller to fail to enter low power consumption when switching the low power mode. Summary of the invention
为解决现有存在的技术问题,本发明提供一种基于第三方 PHY的 SATA 速度自协商方法及装置。  To solve the existing technical problems, the present invention provides a SATA speed auto-negotiation method and apparatus based on a third-party PHY.
为达到上述目的, 本发明实施例的技术方案是这样实现的:  To achieve the above objective, the technical solution of the embodiment of the present invention is implemented as follows:
本发明实施例提供了一种基于第三方 PHY的 SATA速度自协商方法, 包括: The embodiment of the invention provides a SATA speed auto-negotiation method based on a third-party PHY. include:
接收 PHY恢复的并行数据, 对所述并行数据进行字节对齐;  Receiving parallel data recovered by the PHY, and performing byte alignment on the parallel data;
检测对齐后的所述并行数据中是否含有 OOB信号;  Detecting whether the aligned parallel data includes an OOB signal;
当对齐后的所述并行数据中含有 OOB信号时, 将所述 OOB信号发送至 SATA控制器;  When the aligned parallel data contains an OOB signal, the OOB signal is sent to the SATA controller;
所述 SATA控制器识别所述 OOB信号后, 接收所述 SATA控制器发送的 速度选择信号, 并将所述速度选择信号发送至所述 PHY。  After the SATA controller recognizes the OOB signal, it receives a speed selection signal sent by the SATA controller, and sends the speed selection signal to the PHY.
所述接收 PHY恢复的并行数据, 对所述并行数据进行字节对齐包括: 判断所述 SATA控制器是否能够检测到所述并行数据中低位的 K码; 若 K码在高位, 则切换至字节移位的逻辑, 将所述并行数据的高位和下 一个数据的低位进行拼接。  Receiving parallel data recovered by the PHY, and performing byte alignment on the parallel data includes: determining whether the SATA controller can detect a lower K code in the parallel data; if the K code is at a high level, switching to a word The logic of the section shift splicing the upper bits of the parallel data and the lower bits of the next data.
所述接收 PHY恢复的并行数据, 对所述并行数据进行字节对齐包括: 取所述并行数据起始端前八比特数据,判断所述前八比特数据是否为 K 码;  Receiving the parallel data recovered by the PHY, and performing byte alignment on the parallel data includes: taking the first eight bits of data of the start end of the parallel data, and determining whether the first eight bits of data are K codes;
若所述前八比特数据为 K码,则将所述前八比特数据中高七位数据和下 一个并行数据的低一位比特数据相结合, 形成新的八比特数据, 再次判断 所述新的八比特数据是否为所述 K码; 循环执行, 直至检测到所述 K码; 将检测到所述 K码之后的数据按照八比特为一组继续对所述并行数据 进行取数并检测, 直至将所述并行数据的各字节对齐。  If the first eight bits of data are K codes, combine the upper seven bits of the first eight bits of data with the lower one bit of the next parallel data to form new eight bits of data, and determine the new one again. Whether the eight-bit data is the K code; cyclically executing until the K code is detected; and the data after detecting the K code continues to fetch and detect the parallel data in groups of eight bits until Align each byte of the parallel data.
所述将所述 OOB信号发送至 SATA控制器之前, 所述方法还包括: 初始化所述 OOB信号, 与所述 SATA控制器进行握手;  Before the sending the OOB signal to the SATA controller, the method further includes: initializing the OOB signal, and shaking hands with the SATA controller;
握手成功后, 再次接收到所述 OOB信号时, 切换低功耗状态至正常工 作状态。  After the handshake is successful, when the OOB signal is received again, the low power state is switched to the normal working state.
所述接收所述 SATA控制器发送的速度选择信号, 并将所述速度选择信 号发送至所述 PHY包括: 接收所述 SATA控制器发送的速度选择信号; Receiving the speed selection signal sent by the SATA controller, and sending the speed selection signal to the PHY includes: Receiving a speed selection signal sent by the SATA controller;
当所述 PHY中存在与所述速度选择信号相匹配的分频信号时, 直接将 所述速度选择信号发送至所述 PHY。  When there is a frequency-divided signal matching the speed selection signal in the PHY, the speed selection signal is directly transmitted to the PHY.
所述方法还包括:  The method further includes:
当所述 PHY中不存在与所述速度选择信号相匹配的分频信号时, 将所 述速度选择信号处理成与所述 PHY分频信号向匹配的速度配置信号。  When there is no frequency-divided signal matching the speed selection signal in the PHY, the speed selection signal is processed into a speed configuration signal that matches the PHY frequency-divided signal.
本发明实施例还提供了一种基于第三方 PHY的 SATA速度自协商装置, 包括:  The embodiment of the invention further provides a SATA speed auto-negotiation device based on a third-party PHY, including:
数据对齐模块, 配置为接收 PHY恢复的并行数据, 对所述并行数据进 行字节对齐;  a data alignment module configured to receive parallel data recovered by the PHY, and byte aligned the parallel data;
逻辑检测模块, 配置为检测对齐后的所述并行数据中是否含有带外数 据 OOB信号; 当对齐后的所述并行数据中含有 OOB信号时, 则将所述 OOB 信号发送至 SATA控制器;  a logic detection module, configured to detect whether the aligned parallel data includes an out-of-band data OOB signal; when the aligned parallel data includes an OOB signal, send the OOB signal to a SATA controller;
速率重配模块, 配置为在所述 SATA控制器识别所述 OOB信号后, 接收 所述 SATA控制器发送的速度选择信号, 并将所述速度选择信号发送至所述 PHY。  And a rate reconfiguration module configured to: after the SATA controller recognizes the OOB signal, receive a speed selection signal sent by the SATA controller, and send the speed selection signal to the PHY.
所述数据对齐模块还配置为:  The data alignment module is further configured to:
判断所述 SATA控制器是否能够检测到所述并行数据中的 K码或 D码; 若 K码在高位, 则切换至字节移位逻辑, 将所述并行数据的高位和下一 个数据的低位进行拼接。  Determining whether the SATA controller is capable of detecting a K code or a D code in the parallel data; if the K code is at a high level, switching to a byte shift logic, lowering a high bit of the parallel data and a lower bit of a next data Splicing.
所述数据对齐模块还配置为:  The data alignment module is further configured to:
取所述并行数据起始端前八比特数据,判断所述前八比特数据是否为 K 码;  Taking the first eight bits of data of the parallel data start end, and determining whether the first eight bits of data are K codes;
若所述前八比特数据为 K码,则将所述前八比特数据中高七位数据和下 一个并行数据的低一位比特数据相结合, 形成新的八比特数据, 再次判断 所述新的八比特数据是否为所述 K码; 循环执行, 直至检测到所述 Κ码; 将检测到所述 Κ码之后的数据按照八比特为一组继续对所述并行数据 进行取数并检测, 直至将所述并行数据的各字节对齐。 If the first eight bits of data are K codes, combining the upper seven bits of the first eight bits of data with the lower one bit of the next parallel data to form new eight bits of data, again determining Whether the new eight-bit data is the K code; cyclically executing until the weight is detected; and the data after detecting the weight continues to fetch the parallel data in groups of eight bits And detecting until the bytes of the parallel data are aligned.
所述逻辑检测模块还配置为:  The logic detection module is further configured to:
初始化所述 ΟΟΒ信号, 与所述 SATA控制器进行握手;  Initializing the chirp signal, and shaking hands with the SATA controller;
握手成功后, 再次接收到所述 ΟΟΒ信号时, 切换低功耗状态至正常工 作状态。  After the handshake is successful, when the chirp signal is received again, the low power state is switched to the normal working state.
所述速率重配模块还配置为:  The rate reconfiguration module is further configured to:
接收所述 SATA控制器发送的速度选择信号, 当所述 ΡΗΥ中存在与所述 速度选择信号相匹配的分频信号时, 直接将所述速度选择信号发送至所述 ΡΗΥ;  Receiving a speed selection signal sent by the SATA controller, and when there is a frequency-divided signal matching the speed selection signal, the speed selection signal is directly sent to the ΡΗΥ;
当所述 ΡΗΥ中不存在与所述速度选择信号相匹配的分频信号时, 将所 述速度选择信号处理成与所述 ΡΗΥ分频信号向匹配的速度配置信号。  When there is no frequency-divided signal matching the speed selection signal in the ΡΗΥ, the speed selection signal is processed into a speed configuration signal that matches the ΡΗΥ frequency-divided signal.
本发明实施例还提供了一种计算机存储介质, 所述计算机存储介质包 括一组指令, 当执行所述指令时, 引起至少一个处理器执行上述的基于第 三方 ΡΗΥ的 SATA速度自协商方法。  The embodiment of the invention further provides a computer storage medium, the computer storage medium comprising a set of instructions, when executing the instruction, causing at least one processor to perform the third-party-based SATA speed auto-negotiation method.
本发明实施例通过接收 PHY恢复的并行数据, 对所述并行数据进行字 节对齐; 检测对齐后的所述并行数据中是否含有 OOB信号; 若是, 则将所 述 OOB信号发送至 SATA控制器; 所述 SATA控制器识别所述 OOB信号后, 接收所述 SATA控制器发送的速度选择信号, 并将所述速度选择信号发送至 所述 PHY的方法, 具有将恢复错位的并行数据进行对齐及能够顺利完成 PHY速率切换的有益效果, 有效地解决了数据非对齐导致的连接失败或低 功耗模式切换失败的问题。 附图说明  The embodiment of the present invention performs byte alignment on the parallel data by receiving parallel data recovered by the PHY; detecting whether the aligned parallel data contains an OOB signal; if yes, sending the OOB signal to the SATA controller; After the SATA controller recognizes the OOB signal, receiving a speed selection signal sent by the SATA controller, and transmitting the speed selection signal to the PHY, having parallel data for restoring misalignment and enabling The successful completion of the PHY rate switching has effectively solved the problem of connection failure caused by data misalignment or failure of low power mode switching. DRAWINGS
在附图 (其不一定是按比例绘制的) 中, 相似的附图标记可在不同的 视图中描述相似的部件。 具有不同字母后缀的相似附图标记可表示相似部 件的不同示例。 附图以示例而非限制的方式大体示出了本文中所讨论的各 个实施例。 In the drawings, which are not necessarily to scale, like reference numerals may Similar parts are described in the view. Like reference numerals with different letter suffixes may indicate different examples of similar components. The drawings generally illustrate the various embodiments discussed herein by way of example and not limitation.
图 1是本发明基于第三方 PHY的 SATA速度自协商方法一实施例流程 示意图;  1 is a schematic flow chart of an embodiment of a SATA speed auto-negotiation method based on a third-party PHY according to the present invention;
图 2是本发明基于第三方 PHY的 SATA速度自协商装置一实施例结构 示意图;  2 is a schematic structural diagram of an embodiment of a SATA speed auto-negotiation apparatus based on a third-party PHY according to the present invention;
图 3是本发明基于 Altera PHY的 SATA速度自协商装置内部结构示意 图。  3 is a schematic diagram showing the internal structure of a SATA speed auto-negotiation device based on an Altera PHY according to the present invention.
本发明目的的实现、 功能特点及优点将结合实施例, 参照附图做进一 步说明。 具体实施方式  The implementation, functional features and advantages of the objects of the present invention will be further described in conjunction with the embodiments herein. detailed description
以下结合说明书附图及具体实施例进一步说明本发明的技术方案。 应 当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并不用于限定本 发明。  The technical solutions of the present invention are further described below in conjunction with the drawings and specific embodiments. It is understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
参照图 1, 图 1是本发明基于第三方 PHY的 SATA速度自协商方法一 实施例流程示意图; 如图 1所示, 本发明实施例基于第三方 PHY的 SATA 速度自协商方法包括以下步骤:  Referring to FIG. 1, FIG. 1 is a schematic flowchart of a third-party PHY-based SATA speed auto-negotiation method according to an embodiment of the present invention. As shown in FIG. 1, the SATA speed auto-negotiation method based on a third-party PHY in the embodiment of the present invention includes the following steps:
步骤 S01、接收 PHY恢复的并行数据,对所述并行数据进行字节对齐; 这里, 当 PHY将接收的 SATA控制器的并行数据进行恢复时, 通常会 出现数据错位的情况。  Step S01: Receive parallel data recovered by the PHY, and perform byte alignment on the parallel data. Here, when the PHY recovers the parallel data of the received SATA controller, data misalignment usually occurs.
并行数据中存在高低错位的情况时,会将 K码和 D码的位置放在 SATA 控制器无法识别的高位或低位, 所以根据 SATA控制器是否能够检测到并 行数据中的 K码或 D码来判断并行数据中是否存在高低错位的情况;  When there is a high or low misalignment in the parallel data, the position of the K code and the D code will be placed in the high or low position that the SATA controller cannot recognize, so whether the SATA controller can detect the K code or the D code in the parallel data. Determining whether there is a high or low misalignment in the parallel data;
具体地, 如果 SATA控制器检测不到并行数据中低位的 K码, 即若检 测到 K码在高位, 则切换至字节移位逻辑, 将所述并行数据即当前数据中 的高位和下一个数据的低位进行拼接。 比如, 对 ΡΗΥ恢复出来的 ΟΟΒ信 号中连续的对齐(align )原语本应该为: 4abc、 7b4a、 4abc、 7b4a、 4abc、 7b4a, 而 PHY恢复的并行数据中出现了: bc7b、 4a4a、 bc7b、 4a4a、 bc7b 的数据, 则表明 PHY恢复出来的并行数据在对齐的时候出现了前一个数据 低八位和后一个数据高八位组合成新数据的现象, 这导致该连续的 align数 据后面的所有数据都出现上述的错位现象。 对于只有高低位出问题的并行 数据, 只需要将前一个数据的低位和后一个数据的高位结合, 形成新的并 行数据, 并将 K码或 D码放在合适的位置即可; Specifically, if the SATA controller cannot detect the low-order K code in the parallel data, that is, if the SATA controller detects When it is detected that the K code is at the high level, it switches to the byte shift logic, and splicing the parallel data, that is, the upper bits of the current data and the lower bits of the next data. For example, the align primitives in the recovered ΟΟΒ signal should be: 4abc, 7b4a, 4abc, 7b4a, 4abc, 7b4a, and the PHY recovered parallel data appears: bc7b, 4a4a, bc7b, The data of 4a4a and bc7b indicates that the parallel data recovered by the PHY appears to be combined with the lower eight bits of the previous data and the upper eight bits of the latter data into new data when aligned, which results in all the subsequent align data. The above-mentioned misalignment occurs in the data. For parallel data with only high and low bits, it is only necessary to combine the lower bits of the previous data with the high bits of the latter data to form new parallel data, and put the K code or D code in the appropriate position;
对于比较紊乱的按照比特非对齐的数据, 采用的对齐方式是: 取所述 并行数据起始端前八比特数据, 判断所述前八比特数据是否为 K码; 若否, 则将所述前八比特数据中高七位数据和下一个并行数据的低一位比特数据 相结合,形成新的八比特数据,再次判断所述新的八比特数据是否为所述 K 码; 循环执行, 直至检测到所述 K码; 将检测到所述 K码之后的数据按照 八比特为一组继续对所述并行数据进行取数并检测, 直至将所述并行数据 的各字节对齐。  For the relatively disordered bit-unaligned data, the alignment is adopted: taking the first eight bits of data of the parallel data start end, determining whether the first eight bits of data are K codes; if not, then the first eight Combining the upper seven bits of data in the bit data with the lower one bit data of the next parallel data to form new eight bits of data, again determining whether the new eight bit data is the K code; performing the loop until the detected Said K code; the data after detecting the K code is continued to fetch and detect the parallel data in groups of eight bits until the respective bytes of the parallel data are aligned.
比如, 按照比特(bit )对数据进行递推检测, 取刚开始的前 8bit数据, 判断是否为 K码, 如果不为 K码, 将该数的高 7位和下一个 bit相结合, 组成新的 8bit数据,再次判断是否为 K码,依次类推, 直到出现 K码为止, 则说明检测到该字节的边缘, 之后的数据便按照 8bit取数继续进行检测; 若出现非对齐, 再按照此规则进行处理, 这样保证了并行数据的字节对齐。  For example, the data is recursively detected according to the bit (bit), and the first 8 bits of data are taken to determine whether it is a K code. If it is not a K code, the upper 7 bits of the number are combined with the next bit to form a new one. The 8 bit data, again determine whether it is a K code, and so on, until the K code appears, indicating that the edge of the byte is detected, and the subsequent data continues to be detected according to the 8-bit fetch; if non-alignment occurs, then follow this The rules are processed to ensure byte alignment of the parallel data.
步骤 S02、 检测对齐后的所述并行数据中是否含有 OOB信号; 若是, 则 执行步骤 S03; 若否, 则返回执行步骤 S02;  Step S02, detecting whether the aligned parallel data contains an OOB signal; if yes, executing step S03; if not, returning to step S02;
步骤 S03、 将所述 OOB信号发送至 SATA控制器;  Step S03: Send the OOB signal to the SATA controller.
这里, 检测对齐后的并行数据中是否含有 OOB信号; 若否, 则继续检 测; 若是, 则初始化所述 OOB信号, 与所述 SATA控制器进行握手; 握手成 功后, 再次接收到所述 OOB信号时, 切换低功耗状态至正常工作状态。 Here, it is detected whether the aligned parallel data contains the OOB signal; if not, then continue to check If yes, the OOB signal is initialized, and the SATA controller is handshaked; after the handshake is successful, when the OOB signal is received again, the low power consumption state is switched to the normal working state.
比如, 检测到对齐后的并行数据中含有 OOB信号时, 从 OOB信号中提 取出 K28.5码, 作为 SATA控制器的 COMMA信号输出; 由于 OOB信号是 K码 系列, 如果是 OOB信号, 则会出现按照 SATA协议要求的规则脉冲信号, 将 该脉冲信号传送到 SATA控制器后, 便能够被 SATA控制器识别为 OOB信号。  For example, when it is detected that the aligned parallel data contains the OOB signal, the K28.5 code is extracted from the OOB signal as the COMMA signal output of the SATA controller; since the OOB signal is the K code series, if it is the OOB signal, A regular pulse signal according to the SATA protocol is generated, and after the pulse signal is transmitted to the SATA controller, it can be recognized as an OOB signal by the SATA controller.
对于 SATA控制器来说, 并行数据中的有效信号在 OOB信号初始化刚开 始时是没有意义的, 此时, 并行数据中的有效信号与 SATA控制器二者仅仅 是进行握手,在握手成功,并对 OOB信号完成初始化后才会用到有效的 OOB 信号,这样就要对 OOB信号完成最后阶段的 D10.2进行检测, 当检测到 D10.2 时, 对齐的并行数据后面的数据便是一直有效的。 在低功耗时, 进行 OOB 信号交互是为了与 SATA控制器进行握手; 握手成功后, 当再次出现 OOB信 号时, 切换低功耗状态至正常工作状态。 在正常工作状态, 将 OOB信号发 送至 SATA控制器。  For the SATA controller, the valid signal in the parallel data is meaningless at the beginning of the OOB signal initialization. At this time, the valid signal in the parallel data and the SATA controller are only handshaking, and the handshake is successful, and The valid OOB signal is used after the OOB signal is initialized. Therefore, the final stage of the OOB signal is detected. When the D10.2 is detected, the data after the aligned parallel data is always valid. of. At low power consumption, the OOB signal interaction is to shake hands with the SATA controller; after the handshake is successful, when the OOB signal appears again, the low power state is switched to the normal working state. In normal operation, the OOB signal is sent to the SATA controller.
步骤 S04、 所述 SATA控制器识别所述 OOB信号后, 接收所述 SATA控制 器发送的速度选择信号, 并将所述速度选择信号发送至所述 PHY。  Step S04: After identifying the OOB signal, the SATA controller receives a speed selection signal sent by the SATA controller, and sends the speed selection signal to the PHY.
这里,由于 OOB信号是 K码系列,如果是 OOB信号,则会出现按照 SATA 协议要求的规则脉冲信号, 将该脉冲信号传送到 SATA控制器后, 便能够被 SATA控制器识别为 OOB信号; 接收 SATA控制器根据该 OOB信号发送的速 度选择信号, 当所述 PHY中存在与所述速度选择信号相匹配的分频信号时, 直接将所述速度选择信号发送至所述 PHY; 当所述 PHY中不存在与所述速 度选择信号相匹配的分频信号时, 将所述速度选择信号处理成与所述 PHY 分频信号相匹配的速度配置信号。  Here, since the OOB signal is a K code series, if it is an OOB signal, a regular pulse signal according to the SATA protocol is generated, and after the pulse signal is transmitted to the SATA controller, it can be recognized as an OOB signal by the SATA controller; The SATA controller selects a signal according to the speed of the OOB signal, and when there is a frequency-divided signal matching the speed selection signal in the PHY, directly transmitting the speed selection signal to the PHY; when the PHY When there is no frequency-divided signal matching the speed selection signal, the speed selection signal is processed into a speed configuration signal that matches the PHY frequency-divided signal.
其中, PHY要根据 SATA控制器发送的速度选择信号实现与 SATA控制器 匹配的速率, SATA控制器会发出与 PHY协商的速度等级, 用速度选择信号 指示给 PHY。 比如, 对于最高速度只支持到 Gen2的 SATA控制器, 该速度选 择信号是 lbit, 输出 0表示要求 PHY工作在 Genl速度模式, 输出 1表示要求 PHY工作在 Gen2速度模式; PHY需要通过执行所述基于第三方 PHY的 SATA 速度自协商方法中对应重配步骤的速率重配模块来对其内部的分频系数进 行重配, 将 SATA控制器的速度选择信号经过处理, 作为 PHY内部对应重配 模块的输入, 对 PHY的内部分频进行重配, 以达到与 SATA控制器要求相匹 配的速率。 Wherein, the PHY needs to match the speed of the SATA controller according to the speed selection signal sent by the SATA controller, and the SATA controller issues a speed level negotiated with the PHY, and selects a signal with the speed. Indicated to the PHY. For example, for a SATA controller that supports only Gen2 at the highest speed, the speed selection signal is lbit, output 0 indicates that the PHY is required to operate in the Genl speed mode, and output 1 indicates that the PHY is required to operate in the Gen2 speed mode; The rate reconfiguration module corresponding to the reconfiguration step in the SATA speed auto-negotiation method of the third-party PHY reconfigures the internal frequency division coefficient, and processes the speed selection signal of the SATA controller as the corresponding reconfiguration module of the PHY. Input, reconfigures the internal partial frequency of the PHY to match the rate required by the SATA controller.
本实施例通过接收 PHY恢复的并行数据, 对所述并行数据进行字节对 齐;检测对齐后的所述并行数据中是否含有 OOB信号;若是,则将所述 OOB 信号发送至 SATA控制器; 所述 SATA控制器识别所述 OOB信号后, 接收所 述 SATA控制器发送的速度选择信号, 并将所述速度选择信号发送至所述 PHY的方法, 具有将恢复错位的并行数据进行对齐及能够顺利完成 PHY速 率切换的有益效果, 有效地解决了数据非对齐导致的连接失败或低功耗模 式切换失败的问题。  In this embodiment, the parallel data is received by the PHY, and the parallel data is byte aligned; detecting whether the aligned parallel data includes an OOB signal; if yes, sending the OOB signal to the SATA controller; After the SATA controller recognizes the OOB signal, receiving a speed selection signal sent by the SATA controller, and transmitting the speed selection signal to the PHY, has parallel data that can be restored and misaligned The beneficial effects of PHY rate switching are completed, which effectively solves the problem of connection failure caused by data misalignment or failure of low power mode switching.
参照图 2, 图 2是本发明基于第三方 PHY的 SATA速度自协商装置一 实施例结构示意图; 如图 2所示, 本发明实施例基于第三方 PHY的 SATA 速度自协商装置包括: 数据对齐模块 01、逻辑检测模块 02和速率重配模块 03。  Referring to FIG. 2, FIG. 2 is a schematic structural diagram of an SATA speed auto-negotiation apparatus based on a third-party PHY according to the present invention. As shown in FIG. 2, the SATA speed auto-negotiation apparatus based on the third-party PHY in the embodiment of the present invention includes: a data alignment module. 01. Logic detection module 02 and rate reconfiguration module 03.
所述基于第三方 PHY的 SATA速度自协商装置一实施例的内部结构图 请参照图 3, 图 3是本发明实施例基于第三方 PHY的 SATA速度自协商装 置内部结构示意图。请一并参照图 2和图 3,所述基于第三方 PHY的 SATA 速度自协商装置所采用的方法为: 通过接收 PHY恢复的并行数据, 对所述 并行数据进行字节对齐; 检测对齐后的所述并行数据中是否含有带外数据 OOB信号; 若是, 则将所述 OOB信号发送至 SATA控制器; 在所述 SATA 控制器识别所述 OOB信号后,接收所述 SATA控制器发送的速度选择信号, 并将所述速度选择信号发送至所述 PHY。 这里, 第三方 PHY的 SATA速 度自协商装置发送给所述 SATA控制器的信号可以包括: 接收数据信号、 OOB检测指示信号、 K码检测信号以及接收数据有效信号等。 Referring to FIG. 3, FIG. 3 is a schematic diagram showing the internal structure of a SATA speed auto-negotiation device based on a third-party PHY according to an embodiment of the present invention. Referring to FIG. 2 and FIG. 3 together, the method for the SATA speed auto-negotiation device based on the third-party PHY is: performing byte alignment on the parallel data by receiving parallel data recovered by the PHY; detecting the aligned Whether the parallel data includes an out-of-band data OOB signal; if yes, sending the OOB signal to a SATA controller; after the SATA controller identifies the OOB signal, receiving a speed selection sent by the SATA controller signal, And transmitting the speed selection signal to the PHY. Here, the signal sent by the SATA speed auto-negotiation device of the third-party PHY to the SATA controller may include: a received data signal, an OOB detection indication signal, a K-code detection signal, and a received data valid signal.
下面将进一步描述基于第三方 PHY的 SATA速度自协商装置中数据对 齐模块 01、 逻辑检测模块 02和速率重配模块 03的工作过程。  The operation of the data alignment module 01, the logic detection module 02, and the rate reconfiguration module 03 in the SATA speed auto-negotiation device based on the third-party PHY will be further described below.
数据对齐模块 01, 配置为接收 PHY恢复的并行数据, 对所述并行数据 进行字节对齐。  The data alignment module 01 is configured to receive parallel data recovered by the PHY, and byte aligned the parallel data.
这里, 当 PHY将接收的 SATA控制器的并行数据进行恢复时, 通常会 出现数据错位的情况。  Here, when the PHY recovers the parallel data of the received SATA controller, data misalignment usually occurs.
并行数据中存在高低错位的情况时,会将 K码和 D码的位置放在 SATA 控制器无法识别的高位或低位, 所以数据对齐模块 01根据 SATA控制器是 否能够检测到并行数据中的 K码或 D码来判断并行数据中是否存在高低错 位的情况;  When there is a high or low misalignment in the parallel data, the position of the K code and the D code are placed in the high or low position that the SATA controller cannot recognize, so the data alignment module 01 can detect the K code in the parallel data according to the SATA controller. Or the D code to determine whether there is a high or low misalignment in the parallel data;
具体地, 如果 SATA控制器检测不到并行数据中低位的 K码, 即若检 测到 K码在高位, 数据对齐模块 01则切换至字节移位逻辑, 将所述并行数 据即当前数据中的高位和下一个数据的低位进行拼接。 比如, 对 PHY恢复 出来的 OOB信号中连续的 align原语本应该为: 4abc、 7b4a、 4abc、 7b4a、 4abc、 7b4a, 而 PHY恢复的并行数据中出现了: bc7b、 4a4a、 bc7b、 4a4a、 bc7b的数据,则表明 PHY恢复出来的并行数据在对齐的时候出现了前一个 数据低八位和后一个数据高八位组合成新数据的现象, 这导致该连续的 align数据后面的所有数据都出现上述的错位现象。 对于只有高低位出问题 的并行数据, 数据对齐模块 01只需要将前一个数据的低位和后一个数据的 高位结合, 形成新的并行数据, 并将 K码或 D码放在合适的位置即可; 对于比较紊乱的按照比特非对齐的数据, 数据对齐模块 01采用的对齐 方式是: 取所述并行数据起始端前八比特数据, 判断所述前八比特数据是 否为 K码; 若否, 则将所述前八比特数据中高七位数据和下一个并行数据 的低一位比特数据相结合, 形成新的八比特数据, 再次判断所述新的八比 特数据是否为所述 Κ码; 循环执行, 直至检测到所述 Κ码; 将检测到所述 Κ码之后的数据按照八比特为一组继续对所述并行数据进行取数并检测, 直至将所述并行数据的各字节对齐。 Specifically, if the SATA controller does not detect the lower K code in the parallel data, that is, if it detects that the K code is at the high level, the data alignment module 01 switches to the byte shift logic, and the parallel data is the current data. The high bit is spliced with the lower bits of the next data. For example, the consecutive align primitives in the OOB signal recovered from the PHY should be: 4abc, 7b4a, 4abc, 7b4a, 4abc, 7b4a, and the parallel data of the PHY recovery appears: bc7b, 4a4a, bc7b, 4a4a, bc7b The data indicates that the parallel data recovered by the PHY appears in the alignment when the lower eight bits of the previous data and the upper eight bits of the latter data are combined into new data, which causes all the data following the continuous align data to appear. The above dislocation phenomenon. For parallel data with only high and low bits, the data alignment module 01 only needs to combine the lower bits of the previous data with the upper bits of the latter data to form new parallel data, and place the K code or D code in the appropriate position; For the relatively disordered bit-unaligned data, the data alignment module 01 adopts an alignment manner: taking the first eight bits of data of the parallel data start end, and determining that the first eight bits of data are N is a K code; if not, combining the upper seven bits of the first eight bits of data with the lower one bit of the next parallel data to form new eight bits of data, again determining the new eight bits of data Whether it is the weight; cyclically executing until the weight is detected; and the data after detecting the weight continues to fetch and detect the parallel data in groups of eight bits until the Alignment of each byte of parallel data.
比如, 数据对齐模块 01按照 bit对数据进行递推检测, 取刚开始的前 8bit数据, 判断是否为 K码, 如果不为 K码, 将该数的高 7位和下一个 bit 相结合, 组成新的 8bit数据, 再次判断是否为 K码, 依次类推, 直到出现 K码为止, 则说明检测到该字节的边缘, 之后的数据便按照 8bit取数继续 进行检测; 若出现非对齐, 再按照此规则进行处理, 这样保证了并行数据 的字节对齐。  For example, the data alignment module 01 performs recursive detection on the data according to the bit, and takes the first 8 bits of data at the beginning to determine whether it is a K code. If it is not a K code, the upper 7 bits of the number are combined with the next bit to form The new 8-bit data, again judge whether it is a K code, and so on, until the K code appears, it means that the edge of the byte is detected, and the subsequent data continues to be detected according to the 8-bit fetch; if non-alignment occurs, then follow This rule is processed to ensure byte alignment of parallel data.
逻辑检测模块 02, 配置为检测对齐后的所述并行数据中是否含有 OOB 信号; 若是, 则将所述 OOB信号发送至 SATA控制器。  The logic detection module 02 is configured to detect whether the aligned parallel data includes an OOB signal; if yes, send the OOB signal to the SATA controller.
这里, 逻辑检测模块 02检测数据对齐模块 01对齐后的并行数据中是否 含有 OOB信号; 若否, 则继续检测; 若是, 则初始化所述 OOB信号, 与所 述 SATA控制器进行握手; 握手成功后, 再次接收到所述 OOB信号时, 切换 低功耗状态至正常工作状态。  Here, the logic detecting module 02 detects whether the parallel data of the data alignment module 01 is aligned with the OOB signal; if not, continues to detect; if yes, initializes the OOB signal, and performs handshake with the SATA controller; after the handshake is successful When the OOB signal is received again, the low power consumption state is switched to the normal working state.
比如, 逻辑检测模块 02检测到对齐后的并行数据中含有 OOB信号时, 从 OOB信号中提取出 K28.5码,作为 SATA控制器的 COMMA信号输出; 由于 OOB信号是 K码系列, 如果是 OOB信号, 则会出现按照 SATA协议要求的规 则脉冲信号,将该脉冲信号传送到 SATA控制器后,便能够被 SATA控制器识 别为 OOB信号。  For example, when the logic detection module 02 detects that the aligned parallel data contains the OOB signal, the K28.5 code is extracted from the OOB signal as the COMMA signal output of the SATA controller; since the OOB signal is the K code series, if it is OOB The signal, there will be a regular pulse signal according to the SATA protocol. After transmitting the pulse signal to the SATA controller, it can be recognized by the SATA controller as an OOB signal.
对于 SATA控制器来说, 并行数据中的有效信号在 OOB信号初始化刚开 始时是没有意义的, 此时, 并行数据中的有效信号与 SATA控制器二者仅仅 是进行握手, 在握手成功且对 OOB信号完成初始化后才会用到有效的 OOB 信号, 这样就要逻辑检测模块 02对 OOB信号完成最后阶段的 D10.2进行检 测, 当检测到 D10.2时, 对齐的并行数据后面的数据便是一直有效的。 在低 功耗时, 逻辑检测模块 02进行 OOB信号交互是为了与 SATA控制器进行握 手; 握手成功后, 当再次出现 OOB信号时, 逻辑检测模块 02切换低功耗状 态至正常工作状态。 在正常工作状态, 逻辑检测模块 02将 OOB信号发送至 SATA控制器。 For the SATA controller, the valid signal in the parallel data is meaningless at the beginning of the OOB signal initialization. At this time, the valid signal in the parallel data and the SATA controller are only handshaking, and the handshake is successful and A valid OOB is used after the OOB signal is initialized. The signal, in this way, the logic detection module 02 detects the final stage D10.2 of the OOB signal. When D10.2 is detected, the data following the aligned parallel data is always valid. At low power consumption, the logic detection module 02 performs OOB signal interaction for handshake with the SATA controller. After the handshake is successful, when the OOB signal occurs again, the logic detection module 02 switches the low power consumption state to the normal working state. In normal operation, the logic detection module 02 sends an OOB signal to the SATA controller.
速率重配模块 03, 配置为在所述 SATA控制器识别所述 OOB信号后, 接 收所述 SATA控制器发送的速度选择信号, 并将所述速度选择信号发送至所 述 PHY。  The rate reconfiguration module 03 is configured to receive a speed selection signal sent by the SATA controller after the SATA controller recognizes the OOB signal, and send the speed selection signal to the PHY.
这里,由于 OOB信号是 K码系列,如果是 OOB信号,则会出现按照 SATA 协议要求的规则脉冲信号, 速率重配模块 03将该脉冲信号传送到 SATA控制 器后, 便能够被 SATA控制器识别为 OOB信号; 速率重配模块 03接收 SATA 控制器根据该 OOB信号发送的速度选择信号, 当所述 PHY中存在与所述速 度选择信号相匹配的分频信号时, 直接将所述速度选择信号发送至所述 PHY; 当所述 PHY中不存在与所述速度选择信号相匹配的分频信号时, 将 所述速度选择信号处理成与所述 PHY分频信号相匹配的速度配置信号。  Here, since the OOB signal is a K code series, if it is an OOB signal, a regular pulse signal according to the SATA protocol will appear, and the rate reconfiguration module 03 can transmit the pulse signal to the SATA controller, and then can be recognized by the SATA controller. An OOB signal; the rate reconfiguration module 03 receives a speed selection signal sent by the SATA controller according to the OOB signal, and when the frequency division signal matching the speed selection signal exists in the PHY, directly adopting the speed selection signal Transmitting to the PHY; when there is no frequency-divided signal matching the speed selection signal in the PHY, processing the speed selection signal into a speed configuration signal matching the PHY frequency-divided signal.
其中, PHY要根据 SATA控制器发送的速度选择信号实现与 SATA控制器 匹配的速率, SATA控制器会发出与 PHY协商的速度等级, 用速度选择信号 指示给 PHY。 比如, 对于最高速度只支持到 Gen2的 SATA控制器, 该速度选 择信号是 lbit, 输出 0表示要求 PHY工作在 Genl速度模式, 输出 1表示要求 PHY工作在 Gen2速度模式; PHY需要通过速率重配模块 03来对其内部的分 频系数进行重配; 速率重配模块 03将 SATA控制器的速度选择信号经过处理 后,将处理后的速度选择信号传送至 PHY; PHY根据该速度选择信号对 PHY 的内部分频进行重配, 以达到与 SATA控制器要求相匹配的速率。  The PHY needs to match the speed of the SATA controller according to the speed selection signal sent by the SATA controller. The SATA controller issues a speed level negotiated with the PHY and indicates to the PHY with a speed selection signal. For example, for a SATA controller that supports only Gen2 at the highest speed, the speed selection signal is lbit, output 0 indicates that the PHY is required to operate in the Genl speed mode, output 1 indicates that the PHY is required to operate in the Gen2 speed mode, and the PHY needs to pass the rate reconfiguration module. 03 to reconfigure the internal frequency division coefficient; the rate reconfiguration module 03 processes the speed selection signal of the SATA controller, and transmits the processed speed selection signal to the PHY; the PHY selects the signal according to the speed to the PHY. The internal partial frequency is reconfigured to achieve a rate that matches the SATA controller requirements.
实际应用时, 数据对齐模块 01、 逻辑检测模块 02和速率重配模块 03可 由基于第三方 PHY的 SATA速度自协商装置中的中央处理器 (CPU, Central Processing Unit )、 数字信号处理器(DSP, Digital Signal Processor )或可编 程逻辑阵列 (FPGA, Field - Programmable Gate Array ) 实现。 In actual application, the data alignment module 01, the logic detection module 02, and the rate reconfiguration module 03 can It is implemented by a central processing unit (CPU) in a SATA speed auto-negotiation device based on a third-party PHY, a digital signal processor (DSP), or a Field-Programmable Gate Array (FPGA). .
本实施例通过接收 PHY恢复的并行数据, 对所述并行数据进行字节对 齐;检测对齐后的所述并行数据中是否含有 OOB信号;若是,则将所述 OOB 信号发送至 SATA控制器; 所述 SATA控制器识别所述 OOB信号后, 接收所 述 SATA控制器发送的速度选择信号, 并将所述速度选择信号发送至所述 PHY, 具有将恢复错位的并行数据进行对齐及能够顺利完成 PHY速率切换 的有益效果, 有效地解决了数据非对齐导致的连接失败或低功耗模式切换 失败的问题。  In this embodiment, the parallel data is received by the PHY, and the parallel data is byte aligned; detecting whether the aligned parallel data includes an OOB signal; if yes, sending the OOB signal to the SATA controller; After the SATA controller recognizes the OOB signal, receiving a speed selection signal sent by the SATA controller, and transmitting the speed selection signal to the PHY, having parallel data for restoring misalignment and successfully completing the PHY The beneficial effect of rate switching effectively solves the problem of connection failure caused by data misalignment or failure of low power mode switching.
本领域内的技术人员应明白, 本发明的实施例可提供为方法、 系统、 或计算机程序产品。 因此, 本发明可采用硬件实施例、 软件实施例、 或结 合软件和硬件方面的实施例的形式。 而且, 本发明可采用在一个或多个其 中包含有计算机可用程序代码的计算机可用存储介质 (包括但不限于磁盘 存储器和光学存储器等 )上实施的计算机程序产品的形式。  Those skilled in the art will appreciate that embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware aspects. Moreover, the invention can take the form of a computer program product embodied on one or more computer usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
本发明是参照根据本发明实施例的方法、 设备(系统)、 和计算机程序 产品的流程图和 /或方框图来描述的。 应理解可由计算机程序指令实现流程 图和 /或方框图中的每一流程和 /或方框、以及流程图和 /或方框图中的流程和 /或方框的结合。 可提供这些计算机程序指令到通用计算机、 专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器, 使得 通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现 在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功 能的装置。  The present invention has been described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (system), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart and/or block diagrams, and combinations of flow and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device. Means for implementing the functions specified in one or more of the flow or in a block or blocks of the flow chart.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理 设备以特定方式工作的计算机可读存储器中, 使得存储在该计算机可读存 储器中的指令产生包括指令装置的制造品, 该指令装置实现在流程图一个 流程或多个流程和 /或方框图一个方框或多个方框中指定的功能。 The computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that stored in the computer readable memory The instructions in the reservoir produce an article of manufacture comprising an instruction device that implements the functions specified in one or more blocks of the flow or in a flow or block diagram of the flowchart.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备 上, 使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机 实现的处理, 从而在计算机或其他可编程设备上执行的指令提供用于实现 在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功 能的步骤。  These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device. The instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
以上所述仅为本发明的优选实施例, 并非因此限制其专利范围, 凡是 利用本发明说明书及附图内容所作的等效结构或等效流程变换, 直接或间 接运用在其他相关的技术领域, 均同理包括在本发明的专利保护范围内。  The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the patents. The equivalent structure or equivalent process transformations made by the description of the present invention and the drawings are directly or indirectly applied to other related technical fields. The same is included in the scope of patent protection of the present invention.

Claims

权利要求书 claims
1、 一种基于第三方物理层 PHY的串行高级技术附件 SATA速度自协商 方法, 包括: 1. A serial advanced technology accessory SATA speed auto-negotiation method based on third-party physical layer PHY, including:
接收 PHY恢复的并行数据, 对所述并行数据进行字节对齐; Receive the parallel data recovered by the PHY, and perform byte alignment on the parallel data;
检测对齐后的所述并行数据中是否含有带外数据 OOB信号; Detect whether the aligned parallel data contains an out-of-band data OOB signal;
当对齐后的所述并行数据中含有 OOB信号时, 将所述 OOB信号发送至 SATA控制器; When the aligned parallel data contains an OOB signal, send the OOB signal to the SATA controller;
所述 SATA控制器识别所述 OOB信号后, 接收所述 SATA控制器发送的 速度选择信号, 并将所述速度选择信号发送至所述 PHY。 After the SATA controller recognizes the OOB signal, it receives the speed selection signal sent by the SATA controller, and sends the speed selection signal to the PHY.
2、 如权利要求 1所述的方法, 其中, 所述接收 PHY恢复的并行数据, 对所述并行数据进行字节对齐包括: 2. The method of claim 1, wherein receiving the parallel data recovered by the PHY and performing byte alignment on the parallel data includes:
判断所述 SATA控制器是否能够检测到所述并行数据中低位的 K码; 若 K码在高位, 则切换至字节移位的逻辑, 将所述并行数据的高位和下 一个数据的低位进行拼接。 Determine whether the SATA controller can detect the low-bit K code in the parallel data; if the K code is in the high-bit, switch to the byte shift logic, and perform the operation between the high-bit of the parallel data and the low-bit of the next data. splicing.
3、 如权利要求 1所述的方法, 其中, 所述接收 PHY恢复的并行数据, 对所述并行数据进行字节对齐包括: 3. The method of claim 1, wherein receiving the parallel data recovered by the PHY and performing byte alignment on the parallel data includes:
取所述并行数据起始端前八比特数据,判断所述前八比特数据是否为 K 码; Get the first eight bits of data at the starting end of the parallel data and determine whether the first eight bits of data are K codes;
若所述前八比特数据为 K码,则将所述前八比特数据中高七位数据和下 一个并行数据的低一位比特数据相结合, 形成新的八比特数据, 再次判断 所述新的八比特数据是否为所述 K码; 循环执行, 直至检测到所述 K码; 将检测到所述 K码之后的数据按照八比特为一组继续对所述并行数据 进行取数并检测, 直至将所述并行数据的各字节对齐。 If the first eight bits of data are K codes, combine the upper seven bits of data in the first eight bits of data with the lower one bit of data of the next parallel data to form new eight bits of data, and determine the new bits of data again. Whether the eight-bit data is the K code; execute in a loop until the K code is detected; continue to count and detect the parallel data according to a group of eight bits after the K code is detected, until Align each byte of the parallel data.
4、 如权利要求 1所述的方法, 其中, 所述将所述 OOB信号发送至 SATA 控制器之前, 所述方法还包括: 初始化所述 OOB信号, 与所述 SATA控制器进行握手; 4. The method of claim 1, wherein before sending the OOB signal to the SATA controller, the method further includes: Initialize the OOB signal and perform handshake with the SATA controller;
握手成功后, 再次接收到所述 OOB信号时, 切换低功耗状态至正常工 作状态。 After the handshake is successful, when the OOB signal is received again, the low power consumption state is switched to the normal working state.
5、 如权利要求 1所述的方法, 其中, 所述接收所述 SATA控制器发送的 速度选择信号, 并将所述速度选择信号发送至所述 PHY包括: 5. The method of claim 1, wherein receiving the speed selection signal sent by the SATA controller and sending the speed selection signal to the PHY includes:
接收所述 SATA控制器发送的速度选择信号; Receive the speed selection signal sent by the SATA controller;
当所述 PHY中存在与所述速度选择信号相匹配的分频信号时, 直接将 所述速度选择信号发送至所述 PHY。 When there is a frequency division signal matching the speed selection signal in the PHY, the speed selection signal is directly sent to the PHY.
6、 如权利要求 5所述的方法, 其中, 所述方法还包括: 6. The method of claim 5, wherein the method further includes:
当所述 PHY中不存在与所述速度选择信号相匹配的分频信号时, 将所 述速度选择信号处理成与所述 PHY分频信号向匹配的速度配置信号。 When there is no frequency division signal matching the speed selection signal in the PHY, the speed selection signal is processed into a speed configuration signal matching the frequency division signal of the PHY.
7、 一种基于第三方 PHY的 SATA速度自协商装置, 包括: 7. A SATA speed auto-negotiation device based on a third-party PHY, including:
数据对齐模块, 配置为接收 PHY恢复的并行数据, 对所述并行数据进 行字节对齐; A data alignment module configured to receive parallel data recovered by the PHY and perform byte alignment on the parallel data;
逻辑检测模块, 配置为检测对齐后的所述并行数据中是否含有带外数 据 OOB信号; 当对齐后的所述并行数据中含有 OOB信号时, 将所述 OOB信 号发送至 SATA控制器; A logic detection module configured to detect whether the aligned parallel data contains an out-of-band data OOB signal; when the aligned parallel data contains an OOB signal, send the OOB signal to the SATA controller;
速率重配模块, 配置为在所述 SATA控制器识别所述 OOB信号后, 接收 所述 SATA控制器发送的速度选择信号, 并将所述速度选择信号发送至所述 PHY。 A rate reconfiguration module configured to receive a speed selection signal sent by the SATA controller after the SATA controller recognizes the OOB signal, and send the speed selection signal to the PHY.
8、 如权利要求 7所述的装置, 其中, 所述数据对齐模块还配置为: 判断所述 SATA控制器是否能够检测到所述并行数据中的 K码; 若 K码在高位, 则切换至字节移位逻辑, 将所述并行数据的高位和下一 个数据的低位进行拼接。 8. The device of claim 7, wherein the data alignment module is further configured to: determine whether the SATA controller can detect the K code in the parallel data; if the K code is in a high position, switch to The byte shift logic splices the high bits of the parallel data and the low bits of the next data.
9、 如权利要求 7所述的装置, 其中, 所述数据对齐模块还配置为: 取所述并行数据起始端前八比特数据,判断所述前八比特数据是否为 K 码; 9. The device of claim 7, wherein the data alignment module is further configured to: Get the first eight bits of data from the starting end of the parallel data and determine whether the first eight bits of data are K codes;
若所述前八比特数据为 K码,则将所述前八比特数据中高七位数据和下 一个并行数据的低一位比特数据相结合, 形成新的八比特数据, 再次判断 所述新的八比特数据是否为所述 K码; 循环执行, 直至检测到所述 K码; 将检测到所述 K码之后的数据按照八比特为一组继续对所述并行数据 进行取数并检测, 直至将所述并行数据的各字节对齐。 If the first eight bits of data are K codes, combine the upper seven bits of data in the first eight bits of data with the lower one bit of data in the next parallel data to form new eight bits of data, and determine the new bits of data again. Whether the eight-bit data is the K code; execute in a loop until the K code is detected; continue to count and detect the parallel data according to a group of eight bits after the K code is detected, until Align each byte of the parallel data.
10、 如权利要求 7所述的装置, 其中, 所述逻辑检测模块还配置为: 初始化所述 OOB信号, 与所述 SATA控制器进行握手; 10. The device of claim 7, wherein the logic detection module is further configured to: initialize the OOB signal and perform handshake with the SATA controller;
握手成功后, 再次接收到所述 OOB信号时, 切换低功耗状态至正常工 作状态。 After the handshake is successful, when the OOB signal is received again, the low power consumption state is switched to the normal working state.
11、 如权利要求 7所述的装置, 其中, 所述速率重配模块还配置为: 接收所述 SATA控制器发送的速度选择信号, 当所述 PHY中存在与所述 速度选择信号相匹配的分频信号时, 直接将所述速度选择信号发送至所述 PHY; 11. The device of claim 7, wherein the rate reconfiguration module is further configured to: receive a speed selection signal sent by the SATA controller, when there is a speed selection signal in the PHY that matches the speed selection signal. When dividing the frequency signal, directly send the speed selection signal to the PHY;
当所述 PHY中不存在与所述速度选择信号相匹配的分频信号时, 将所 述速度选择信号处理成与所述 PHY分频信号向匹配的速度配置信号。 When there is no frequency division signal matching the speed selection signal in the PHY, the speed selection signal is processed into a speed configuration signal matching the frequency division signal of the PHY.
12、 一种计算机存储介质, 所述计算机存储介质包括一组指令, 当执 行所述指令时, 引起至少一个处理器执行所述如权利要求 1至 6任一项所 述的基于第三方 PHY的 SATA速度自协商方法。 12. A computer storage medium, the computer storage medium includes a set of instructions, which when executed, cause at least one processor to execute the third-party PHY-based method according to any one of claims 1 to 6. SATA speed auto-negotiation method.
PCT/CN2013/089739 2013-01-04 2013-12-17 Sata speed auto-negotiation method and device based on third-party phy WO2014106429A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310001430.0A CN103914420B (en) 2013-01-04 2013-01-04 SATA speed auto-negotiation method based on third party PHY and device
CN201310001430.0 2013-01-04

Publications (1)

Publication Number Publication Date
WO2014106429A1 true WO2014106429A1 (en) 2014-07-10

Family

ID=51040116

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/089739 WO2014106429A1 (en) 2013-01-04 2013-12-17 Sata speed auto-negotiation method and device based on third-party phy

Country Status (2)

Country Link
CN (1) CN103914420B (en)
WO (1) WO2014106429A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104333388A (en) * 2014-12-01 2015-02-04 山东华芯半导体有限公司 Serial communication protocol controller, character re-aligning circuit and 8b/10b decoder
CN104467865B (en) * 2014-12-01 2018-08-03 山东华芯半导体有限公司 Serial communication protocol controller, byte split circuit and 8b10b encoders

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599004A (en) * 2009-07-10 2009-12-09 中国科学院光电技术研究所 SATA controller based on FPGA
CN101627376A (en) * 2006-10-05 2010-01-13 Lsi公司 Needing to be used for the mutual apparatus and method of improved SATA equipment of SAS extender
US20100296815A1 (en) * 2009-05-22 2010-11-25 Lsi Corporation Methods and apparatus for interconnecting sas devices using either electrical or optical transceivers

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774424B1 (en) * 2005-09-02 2010-08-10 Pmc-Sierra, Inc. Method of rate snooping in a SAS/SATA environment
CN102566941B (en) * 2011-12-22 2014-12-10 深圳市安云信息科技有限公司 Method for recognizing serial advanced technology attachment (SATA) hard disk through serial attached SCSI (SAS) hard disk expander

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101627376A (en) * 2006-10-05 2010-01-13 Lsi公司 Needing to be used for the mutual apparatus and method of improved SATA equipment of SAS extender
US20100296815A1 (en) * 2009-05-22 2010-11-25 Lsi Corporation Methods and apparatus for interconnecting sas devices using either electrical or optical transceivers
CN101599004A (en) * 2009-07-10 2009-12-09 中国科学院光电技术研究所 SATA controller based on FPGA

Also Published As

Publication number Publication date
CN103914420A (en) 2014-07-09
CN103914420B (en) 2016-12-28

Similar Documents

Publication Publication Date Title
EP2057550B1 (en) Signal noise filtering in a serial interface
CN101989248A (en) Universal serial bus (USB) equipment and method for restarting USB equipment
TWI401930B (en) Multi-protocol infrared receiver
US10181975B2 (en) Override subsystems for rapid recovery from serial-link errors
US10609741B2 (en) Multi-gigabit wireless tunneling system
CN107592250B (en) Multi-rate self-adaptive test equipment based on aviation FC bus
US20190266122A1 (en) Multilane heterogenuous serial bus
CA2517426C (en) Pre-empting low-priority traffic with high-priority traffic
WO2014106429A1 (en) Sata speed auto-negotiation method and device based on third-party phy
TWI477974B (en) Electronic device and method for reducing power consumption of electronic device
JP2017532627A (en) Serial sideband signaling link
US20140244874A1 (en) Restoring stability to an unstable bus
CN107066418A (en) A kind of SATA protocol power-up initializing control method and controller based on FPGA
US8650430B2 (en) Enabling a peripheral device to transmit a request for interrupt processing to a host when no clock signal is output from the host device
KR102428450B1 (en) Host controller, secure element and serial peripheral interface
US8499194B2 (en) Information handling system forced action communicated over an optical interface
JP6903645B2 (en) Communication devices, communication methods, programs, and communication systems
KR20090009512A (en) Serial ata electronic device and test method for the serial ata electronic device
US20190207744A1 (en) System, Apparatus And Method For Low Overhead Communication Encoding
US20150301879A1 (en) Semiconductor device having a serial communication circuit for a host unit
US8943365B2 (en) Computer program product for handling communication link problems between a first communication means and a second communication means
JP4977324B2 (en) Bus system, bus connection device, and reset method
CN111182514B (en) Method, device, equipment and medium for realizing pin time-sharing multiplexing
US8464099B2 (en) Information handling system forced action communicated over an optical interface
WO2016112646A1 (en) Data flow delimiting method, device and computer storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13869889

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13869889

Country of ref document: EP

Kind code of ref document: A1