JP2007233993A - Data transfer control device and electronic apparatus - Google Patents

Data transfer control device and electronic apparatus Download PDF

Info

Publication number
JP2007233993A
JP2007233993A JP2006345599A JP2006345599A JP2007233993A JP 2007233993 A JP2007233993 A JP 2007233993A JP 2006345599 A JP2006345599 A JP 2006345599A JP 2006345599 A JP2006345599 A JP 2006345599A JP 2007233993 A JP2007233993 A JP 2007233993A
Authority
JP
Japan
Prior art keywords
data
scrambler
pattern
control device
test
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.)
Pending
Application number
JP2006345599A
Other languages
Japanese (ja)
Inventor
Chisato Akiyama
千里 秋山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006345599A priority Critical patent/JP2007233993A/en
Publication of JP2007233993A publication Critical patent/JP2007233993A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data transfer control device and an electronic apparatus that can implement an efficient compliance test. <P>SOLUTION: The data transfer control device includes a pattern generator 52 for generating a test pattern of a compliant pattern, a scrambler 54 for performing scrambling, and a data scrambler 56 for scrambling and outputting transmission data. The scrambler 54 scrambles the test pattern from the pattern generator 52 at a compliance test using a compliant pattern. The data scrambler 70 scrambles and outputs the scrambled test pattern from the scrambler 54 at the compliance test. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、データ転送制御装置及び電子機器に関する。   The present invention relates to a data transfer control device and an electronic device.

近年、ストレージデバイス等のシリアルインターフェースとして、シリアルATA(Serial AT Attachment)と呼ばれる規格が脚光を浴びている。このシリアルATAは、パラレルインターフェースであるATA(IDE)との間のソフトウェアレベルでの互換性を備えた規格である。そして最初の規格であるシリアルATA Iのデータ転送速度は1.5Gbpsであったが、次の規格であるシリアルATA IIではデータ転送速度が3.0Gbpsに高速化している。またシリアルATA IIでは外部接続についても定義されている。   In recent years, a standard called Serial ATA (Serial AT Attachment) has been spotlighted as a serial interface for storage devices and the like. This serial ATA is a standard having compatibility at the software level with ATA (IDE) which is a parallel interface. The data transfer rate of the first standard, Serial ATA I, was 1.5 Gbps, but the next standard, Serial ATA II, has increased the data transfer rate to 3.0 Gbps. Serial ATA II also defines external connections.

このシリアルATAでは、シリアルインターフェースのコンプライアンステスト(compliance test)を行うために、コンプライアントパターン(compliant pattern)が定義されている。このコンプライアントパターンは、SOF(Start Of Frame)プリミティブと、SOFプリミティブに続くテストパターン(specified test pattern)と、テストパターンに続くCRC(Cyclic Redundancy Check)と、EOF(End Of Frame)プリミティブにより構成される。このテストパターンは、シリアルATAインターフェースのコンプライアンスやシグナル・インテグリティを確かめるためのパターンとなっている。   In this serial ATA, a compliant pattern is defined in order to perform a compliance test of the serial interface. This compliant pattern is composed of an SOF (Start Of Frame) primitive, a test pattern (specified test pattern) following the SOF primitive, a CRC (Cyclic Redundancy Check) following the test pattern, and an EOF (End Of Frame) primitive. The This test pattern is a pattern for confirming the compliance and signal integrity of the serial ATA interface.

そしてシリアルATAの規格ではコンプライアントパターンのテストパターンについては、スクランブルがかからないパターンの状態のままで、シリアルATAのケーブル(シリアルバス)上に現れる必要がある。ところが、シリアルATA規格に基づいてリンク層やトンラスポート層のコントローラを設計すると、転送するデータに対してスクランブルをかける必要がある。このため、テストパターンの生成処理が複雑になり、組込用途のデータ転送制御装置にはなじまないという問題がある。
特開2004−233200号公報
In the serial ATA standard, the test pattern of the compliant pattern needs to appear on the serial ATA cable (serial bus) in a state where the pattern is not scrambled. However, if a controller for the link layer or the tonlas port layer is designed based on the serial ATA standard, it is necessary to scramble the data to be transferred. For this reason, the test pattern generation process becomes complicated, and there is a problem that it is not suitable for a data transfer control device for embedded use.
JP 2004-233200 A

本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、効率的なコンプライアンステストを実現できるデータ転送制御装置及びこれを含む電子機器を提供することにある。   The present invention has been made in view of the above problems, and an object of the present invention is to provide a data transfer control device capable of realizing an efficient compliance test and an electronic apparatus including the data transfer control device.

本発明は、シリアルバスを介してデータ転送を行うデータ転送制御装置であって、コンプライアントパターンのテストパターンを発生するパターンジェネレータと、スクランブル処理を行うスクランブラと、送信データに対してスクランブル処理を行って出力するデータスクランブラとを含み、前記スクランブラは、コンプライアントパターンを用いてテストを行うコンプライアンステスト時に、前記パターンジェネレータからのテストパターンに対してスクランブル処理を行い、前記データスクランブラは、前記コンプライアンステスト時に、前記スクランブラからのスクランブル処理後のテストパターンに対してスクランブル処理を行って出力するデータ転送制御装置に関係する。   The present invention relates to a data transfer control device for transferring data via a serial bus, a pattern generator for generating a compliant pattern test pattern, a scrambler for scramble processing, and scramble processing for transmission data. A data scrambler that performs and outputs the scrambler, the scrambler performs a scramble process on the test pattern from the pattern generator during a compliance test in which a test is performed using a compliant pattern, and the data scrambler The present invention relates to a data transfer control device that performs scramble processing on a test pattern after scramble processing from the scrambler and outputs the test pattern during the compliance test.

本発明によれば、コンプライアンステスト時に、パターンジェネレータがコンプライアントパターンのテストパターンを発生し、スクランブラが、発生したテストパターンのスクランブル処理を行う。そしてデータスクランブラが、スクランブル処理後のテストパターンに対してスクランブル処理を行って、得られたテストパターンを出力する。このようにすれば、シリアルバス上には、パターンジェネレータが発生したテストパターンが現れるようになり、適正なコンプライアンステストを実現できる。またテストパターンが自動的に2回スクランブルされて元のパターンに戻って、データスクランブラから出力されるようになるため、効率的なコンプライアンステストを実現できる。   According to the present invention, during a compliance test, the pattern generator generates a compliant pattern test pattern, and the scrambler scrambles the generated test pattern. Then, the data scrambler scrambles the test pattern after the scramble process, and outputs the obtained test pattern. In this way, the test pattern generated by the pattern generator appears on the serial bus, and an appropriate compliance test can be realized. In addition, since the test pattern is automatically scrambled twice, returns to the original pattern, and is output from the data scrambler, an efficient compliance test can be realized.

また本発明では、送信データのCRCを演算し、前記データスクランブラに対して出力する送信用CRC演算部を含み、前記送信用CRC演算部は、前記コンプライアンステスト時に、前記パターンジェネレータからのテストパターンについてのCRCを演算し、前記データスクランブラに対して出力するようにしてもよい。   In the present invention, a CRC calculation unit for transmission that calculates a CRC of transmission data and outputs the CRC to the data scrambler is included, and the transmission CRC calculation unit includes a test pattern from the pattern generator during the compliance test. CRC may be calculated and output to the data scrambler.

このようにすれば、通常動作時と同様の制御フローで、CRCを演算して付加することが可能になり、処理を簡素化できる。   In this way, it is possible to calculate and add a CRC with a control flow similar to that during normal operation, thereby simplifying the processing.

また本発明では、その第1の入力端子に送信データが入力され、その第2の入力端子に前記スクランブラからのスクランブル処理後のテストパターンが入力される第1のセレクタと、その第1の入力端子に前記第1のセレクタの出力が入力され、その第2の入力端子に前記送信用CRC演算部の出力が入力され、その出力端子に前記データスクランブラへのデータが出力される第2のセレクタを含むようにしてもよい。   Further, in the present invention, a first selector in which transmission data is input to the first input terminal and a test pattern after scramble processing from the scrambler is input to the second input terminal, and the first selector The output of the first selector is input to the input terminal, the output of the CRC calculation unit for transmission is input to the second input terminal, and the data to the data scrambler is output to the output terminal. These selectors may be included.

このようにすれば、第1、第2のセレクタの第1、第2の入力端子の切り替え選択だけで、通常動作とコンプライアンステストの切り替えを実現できるようになり、データ転送制御装置の処理や構成を簡素化できる。   In this way, switching between the normal operation and the compliance test can be realized only by switching the first and second input terminals of the first and second selectors. Processing and configuration of the data transfer control device Can be simplified.

また本発明では、その第1の入力端子に前記データスクランブラの出力が入力され、その第2の入力端子に前記スクランブラの出力が入力され、その出力端子に物理層回路へのデータが出力される第3のセレクタを含むようにしてもよい。   In the present invention, the output of the data scrambler is input to the first input terminal, the output of the scrambler is input to the second input terminal, and data to the physical layer circuit is output to the output terminal. A third selector may be included.

このようにすれば、第3のセレクタの第1、第2の入力端子の切り替え選択だけで、データスクランブラからのスクランブルデータとスクランブラからのスクランブルデータを切り替えて出力できるようになる。   In this way, the scrambled data from the data scrambler and the scrambled data from the scrambler can be switched and output only by switching the first and second input terminals of the third selector.

また本発明では、前記スクランブラは、コンティニュー・プリミティブに続くスクランブルデータを発生するスクランブラであってもよい。   In the present invention, the scrambler may be a scrambler that generates scramble data following a continue primitive.

このようにすれば、通常動作時に使用するコンティニュー・プリミティブ用のスクランブラを有効活用できるため、データ転送制御装置の大規模化を最小限に抑えることができる。   In this way, the scrambler for continue primitives used during normal operation can be used effectively, so that the scale of the data transfer control device can be minimized.

また本発明では、前記データスクランブラと物理層回路との間に設けられ、8b/10bのエンコード処理を行う8b/10bエンコーダを含むようにしてもよい。   In the present invention, an 8b / 10b encoder that is provided between the data scrambler and the physical layer circuit and performs 8b / 10b encoding processing may be included.

また本発明では、複数のテストパターンの中から、前記パターンジェネレータが発生するテストパターンを前記パターンジェネレータに対して指示するテスト制御部を含むようにしてもよい。   Further, the present invention may include a test control unit that instructs the pattern generator to generate a test pattern generated by the pattern generator from among a plurality of test patterns.

このようにすれば、テスト制御部による指示だけで、複数のテストパターンの中から任意のテストパターンを発生してシリアルバスに出力できるようになり、データ転送制御装置を制御する処理部等の処理負荷を軽減できる。   In this way, an arbitrary test pattern can be generated from a plurality of test patterns and output to the serial bus only by an instruction from the test control unit, and processing such as a processing unit for controlling the data transfer control device The load can be reduced.

また本発明では、物理層回路が受信したデータのデスクランブル処理を行うデータデスクランブラと、デスクランブル処理後のデータのCRCを演算する受信用CRC演算部を含むようにしてもよい。   The present invention may also include a data descrambler that performs descrambling processing of data received by the physical layer circuit, and a reception CRC calculation unit that calculates CRC of the data after descrambling processing.

このようにすれば、物理層回路を介して入力された受信データに対するデスクランブル処理やCRC演算を実現できる。   In this way, it is possible to realize descrambling processing and CRC calculation for the received data input via the physical layer circuit.

また本発明では、物理層回路と前記データデスクランブラとの間に設けられ、8b/10bのデコード処理を行う8b/10bデコーダを含むようにしてもよい。   The present invention may also include an 8b / 10b decoder provided between the physical layer circuit and the data descrambler and performing 8b / 10b decoding processing.

また本発明では、前記シリアルバスはシリアルATA(Serial AT Attachment)のバスであってもよい。   In the present invention, the serial bus may be a serial ATA (Serial AT Attachment) bus.

また本発明は、上記のいずれかに記載のデータ転送制御装置と、前記データ転送制御装置を制御する処理部とを含む電子機器に関係する。   The present invention also relates to an electronic device including any of the data transfer control devices described above and a processing unit that controls the data transfer control device.

以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。   Hereinafter, preferred embodiments of the present invention will be described in detail. The present embodiment described below does not unduly limit the contents of the present invention described in the claims, and all the configurations described in the present embodiment are indispensable as means for solving the present invention. Not necessarily.

1.シリアルATA
まずシリアルATA(Serial AT Attachment)規格について説明する。図1にシリアルATA(以下、SATA)の層構造を示す。
1. Serial ATA
First, the Serial ATA (Serial AT Attachment) standard will be described. FIG. 1 shows a layer structure of serial ATA (hereinafter, SATA).

物理層では、ホストとデバイスとの間のシリアル通信や、シリアルデータからパラレルデータへの変換やパラレルデータからシリアルデータへの変換などが行われる。具体的にはビット列がシリアル・ビット化され、小振幅の差動信号として転送される。   In the physical layer, serial communication between the host and the device, conversion from serial data to parallel data, conversion from parallel data to serial data, and the like are performed. Specifically, the bit string is converted into serial bits and transferred as a differential signal with a small amplitude.

リンク層では、物理層とのデータの送受信や、シリアルインターフェースプロトコルの制御や、トランスポート層との間でのアプリケーションデータ(ユーザデータ)の送受信が行われる。具体的にはフレーム転送のための伝送路のアービトレーションやフロー制御が行われ、FIS(Frame Information Structure)や制御コードをシリアル伝送に適したビット列に変換する8b/10b変換などが行われる。   In the link layer, data transmission / reception with the physical layer, control of the serial interface protocol, and application data (user data) transmission / reception with the transport layer are performed. Specifically, transmission path arbitration and flow control for frame transfer are performed, and FIS (Frame Information Structure) and 8b / 10b conversion for converting a control code into a bit string suitable for serial transmission are performed.

アプリケーション層は、パラレルATA(IDE)規格のホストバスアダプタ(HBA)と同じインターフェースを通してトランスポート層にアクセスする。レジスタアクセスなどはパラレルATA規格のコマンドプロトコルとソフトウェアレベルで互換性を有している。トランスポート層は、リンク層と送受信するデータをパラレルATA規格のコマンドプロトコル動作に変換する。   The application layer accesses the transport layer through the same interface as the parallel ATA (IDE) standard host bus adapter (HBA). Register access and the like are compatible with the parallel ATA standard command protocol at the software level. The transport layer converts data transmitted / received to / from the link layer into a parallel ATA standard command protocol operation.

これらの物理層、リンク層、トランスポート層は、ホスト側、デバイス側に設けられた物理層回路(PHYコントローラ)、リンクコントローラ、トランスポートコントローラにより実現される。またアプリケーション層は、ホスト側、デバイス側のソフトウェア、バッファメモリ、DMAエンジンなどにより実現される。   These physical layer, link layer, and transport layer are realized by a physical layer circuit (PHY controller), link controller, and transport controller provided on the host side and device side. The application layer is realized by software on the host side and device side, buffer memory, DMA engine, and the like.

パラレルATA(IDE)では、制御レジスタである全てのタスクファイル・レジスタ(TFR)はCPU(広義には処理部)のアドレス空間にマッピングされる。CPU上のソフトウェアは、このレジスタをリード/ライトしてデバイスを制御する。このTFRはデバイス側のファームウェアからも同時に参照される。   In parallel ATA (IDE), all task file registers (TFR) which are control registers are mapped to the address space of the CPU (processing section in a broad sense). Software on the CPU reads / writes this register to control the device. This TFR is simultaneously referred to from the firmware on the device side.

SATAでは、従来のパラレルATA(IDE)との間でソフトウェアレベルでの互換性が維持されている。そしてSATAでは、上述のTFRが2つ存在することが特徴になっている。即ちホスト(HBA)側に存在するシャドウ・タスクファイル・レジスタ(シャドウTFR)とデバイス側の本来のタスクファイル・レジスタ(デバイスTFR)である。CPU上のソフトウェアからはシャドウTFRのみが直接アクセス可能となっており、デバイス側のファームウェアからはデバイスTFRのみが直接アクセス可能となっている。この2つのTFRは、コマンド発行時と完了時にHost to Device Register FIS、Device to Host Register FISおよびPIO Setup FISによりお互いにコピーされる。なおSATAでは従来のIDEをエミュレートするために8個のフレーム(FIS)が定義されている。   In SATA, compatibility at the software level with conventional parallel ATA (IDE) is maintained. SATA is characterized by the presence of the two TFRs described above. That is, the shadow task file register (shadow TFR) existing on the host (HBA) side and the original task file register (device TFR) on the device side. Only the shadow TFR is directly accessible from the software on the CPU, and only the device TFR is directly accessible from the firmware on the device side. The two TFRs are copied to each other by a Host to Device Register FIS, a Device to Host Register FIS, and a PIO Setup FIS when a command is issued and completed. In SATA, 8 frames (FIS) are defined to emulate a conventional IDE.

図2、図3に、トランスポート層、リンク層、物理層でのデータ処理の流れを示す。図2は送信側のデータ処理の流れを示し、図3は受信側のデータ処理の流れを示している。   2 and 3 show the flow of data processing in the transport layer, link layer, and physical layer. FIG. 2 shows the flow of data processing on the transmission side, and FIG. 3 shows the flow of data processing on the reception side.

図2に示すように送信側のトランスポートコントローラ(トランスポート層)では、シャドウレジスタに書き込まれたコマンドやデータポートに入力されたデータによりFISが生成される。ここでFISは、フレームのペイロード部であり、Dword(32ビット)単位で構成される。またフレームは、ホストとデバイスの間で交換される情報ユニットであり、SOF(Start Of Frame)プリミティブと、FISと、FISに対して計算されたCRC(Cyclic Redundancy Check)と、EOF(End Of Frame)プリミティブにより構成される。   As shown in FIG. 2, in the transport controller (transport layer) on the transmission side, the FIS is generated by the command written in the shadow register and the data input in the data port. Here, FIS is a payload portion of a frame, and is configured in units of Dword (32 bits). The frame is an information unit exchanged between the host and the device. The SOF (Start Of Frame) primitive, the FIS, the CRC (Cyclic Redundancy Check) calculated for the FIS, and the EOF (End Of Frame) are used. ) Consists of primitives.

リンクコントローラでは、FISに対するCRCが演算されてFISの最後尾に付加される。そしてFIS及びCRCとスクランブルデータとの排他的論理和(XOR)をとるスクランブル処理が行われる。そしてこのようにスクランブルされたFIS及びCRCに対して、8b/10bのエンコードが行われる。ここで8b/10bエンコードは、8ビットのデータを10ビットの伝送キャラクタに変換するデータ伝送符号化のアルゴリズムであり、符号列内の1と0の数を揃え、連続的な伝送を保証する。そして8b/10bエンコード後のFIS及びCRCに対してSOF、EOFなどのプリミティブが付加される。   In the link controller, the CRC for the FIS is calculated and added to the end of the FIS. Then, a scramble process is performed to obtain an exclusive OR (XOR) of the FIS and CRC and the scramble data. Then, 8b / 10b encoding is performed on the scrambled FIS and CRC. Here, 8b / 10b encoding is a data transmission encoding algorithm that converts 8-bit data into 10-bit transmission characters. The number of 1's and 0's in the code string is aligned to guarantee continuous transmission. Then, primitives such as SOF and EOF are added to the FIS and CRC after 8b / 10b encoding.

物理層回路では、リンク層からのパラレルデータがシリアルデータに変換され、小振幅の差動信号としてシリアルATAのバスに送信される。   In the physical layer circuit, parallel data from the link layer is converted into serial data and transmitted to the serial ATA bus as a differential signal with a small amplitude.

図3に示すように受信側の物理層回路では、シリアルATAのバスを介して受信したシリアルデータがパラレルデータに変換される。   As shown in FIG. 3, in the physical layer circuit on the receiving side, serial data received via the serial ATA bus is converted into parallel data.

リンクコントローラでは、FIS及びCRCに付加されたプリミティブに対するデコードが行われる。またFIS及びCRCに対する8b/10bのデコードが行われる。即ち10ビットの伝送キャラクタが8ビットのデータに変換される。次に、スクランブルされたFIS及びCRCとスクランブルデータとの排他的論理和をとるデスクランブル処理が行われる。そしてFISの最後尾に付加されたCRCがチェックされる。   In the link controller, the primitive added to the FIS and CRC is decoded. In addition, 8b / 10b decoding for FIS and CRC is performed. That is, a 10-bit transmission character is converted into 8-bit data. Next, a descrambling process is performed to obtain an exclusive OR of the scrambled FIS and CRC and the scrambled data. Then, the CRC added at the end of the FIS is checked.

トランスポートコントローラでは、FISのコマンドがシャドウレジスタに書き込まれ、ステータスや割り込みが出力されると共に、データがデータポートを介して出力される。   In the transport controller, the FIS command is written to the shadow register, status and interrupt are output, and data is output via the data port.

2.構成
図4に本実施形態のデータ転送制御装置の構成例を示す。このデータ転送制御装置は、トランスポートコントローラ10、リンクコントローラ50、物理層回路100を含む。またテスト制御部150を含む。なお本実施形態のデータ転送制御装置は図4の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加する構成としてもよい。例えば物理層回路100を含まない構成としてもよい。或いはトランスポートコントローラ10やテスト制御部150を含まない構成としてもよい。或いはリンクコントローラ50の構成要素の一部を省略したり、他の構成要素を追加してもよい。
2. Configuration FIG. 4 shows a configuration example of the data transfer control device of this embodiment. The data transfer control device includes a transport controller 10, a link controller 50, and a physical layer circuit 100. A test control unit 150 is also included. Note that the data transfer control device of the present embodiment is not limited to the configuration of FIG. 4, and some of the components may be omitted or other components may be added. For example, the physical layer circuit 100 may not be included. Alternatively, the transport controller 10 and the test control unit 150 may not be included. Alternatively, some of the components of the link controller 50 may be omitted or other components may be added.

SATAでは、データは32ビット単位で処理される。この32ビットのデータが、リンクコントローラ50により8b/10bでエンコードされて40ビットのデータになり、物理層回路100に送られる。物理層回路100は、この40ビットのデータをシリアル化してSATAのケーブルに送信する。受信も逆の手順で、シリアルデータが物理層回路100で40ビットのデータに変換され、リンクコントローラ50で32ビットのデータに変換され、トランスポートコントローラ10に送られる。   In SATA, data is processed in units of 32 bits. The 32-bit data is encoded at 8b / 10b by the link controller 50 to become 40-bit data, which is sent to the physical layer circuit 100. The physical layer circuit 100 serializes the 40-bit data and transmits it to the SATA cable. In the reverse order of reception, serial data is converted into 40-bit data by the physical layer circuit 100, converted into 32-bit data by the link controller 50, and sent to the transport controller 10.

トランスポートコントローラ10はトランスポート層の制御を行うものである。具体的にはトランスポートコントローラ10は、上位層(アプリケーション層)からFISの送信要求が来た時に、以下の処理を行う。   The transport controller 10 controls the transport layer. Specifically, the transport controller 10 performs the following processing when an FIS transmission request is received from an upper layer (application layer).

まずトランスポートコントローラ10は、FISタイプの要件に基づいてFISの内容を収集する。また送信する情報をFISのタイプ毎に定義フォーマットに配置する。次にリンクコントローラ50に対して送信要求を通知する。これによりリンクコントローラ50はX_RDYの送信処理を行う。そして相手ノードからのR_RDYを受信し、リンクコントローラ50から受信のアクノリッジが来ると、トランスポートコントローラ10はFISをリンクコントローラ50に転送する。そして送信FIFOのフロー管理を行い、必要なフロー制御をリンクコントローラ50に通知する。その後、リンクコントローラ50から送信結果を受信すると、必要に応じて上位層に送信結果を通知する。   First, the transport controller 10 collects the contents of the FIS based on the requirements of the FIS type. Information to be transmitted is arranged in a definition format for each type of FIS. Next, a transmission request is notified to the link controller 50. As a result, the link controller 50 performs X_RDY transmission processing. When the R_RDY from the partner node is received and an acknowledgment of reception is received from the link controller 50, the transport controller 10 transfers the FIS to the link controller 50. Then, the flow management of the transmission FIFO is performed, and necessary flow control is notified to the link controller 50. Thereafter, when a transmission result is received from the link controller 50, the transmission result is notified to an upper layer as necessary.

トランスポートコントローラ10は、リンクコントローラ50からFISを受信した時には、以下の処理を行う。   When the transport controller 10 receives the FIS from the link controller 50, the transport controller 10 performs the following processing.

トランスポートコントローラ10は、リンクコントローラ50からFISを受信すると、受信したFISのタイプを判別する。そしてFISのタイプに応じた適切なレジスタやFIFOにデータを転送する。そして受信FIFOのフロー管理を行い、必要なフロー制御をリンクコントローラ50に通知する。その後、リンクコントローラ50及び上位層(アプリケーション層)に受信結果を通知する。   When the transport controller 10 receives the FIS from the link controller 50, the transport controller 10 determines the type of the received FIS. Then, the data is transferred to an appropriate register or FIFO according to the type of FIS. Then, the flow management of the reception FIFO is performed, and necessary flow control is notified to the link controller 50. Thereafter, the reception result is notified to the link controller 50 and the upper layer (application layer).

リンクコントローラ50はリンク層の制御を行うものである。具体的にはリンクコントローラ50は、送信時には以下の処理を行う。   The link controller 50 controls the link layer. Specifically, the link controller 50 performs the following processing at the time of transmission.

まずリンクコントローラ50はトランスポートコントローラ10からのデータ(FIS)を受け取る。そしてFISのCRCを生成し、FISの最後尾に付加する。次にデータのスクランブルを行い、その後、8b/10bのエンコードを行う。そしてSATA通信のプロトコルにしたがったプリミティブ、FISの送信を行う。そして送信結果をトランスポートコントローラ10に通知する。   First, the link controller 50 receives data (FIS) from the transport controller 10. A FIS CRC is generated and added to the end of the FIS. Next, the data is scrambled, and then 8b / 10b encoding is performed. Then, the primitive and FIS are transmitted according to the SATA communication protocol. Then, the transmission result is notified to the transport controller 10.

リンクコントローラ50は受信時には以下の処理を行う。即ちリンクコントローラ50は物理層回路100から、8b/10bエンコードキャラクタを受信する。そして8b/10bエンコードキャラクタをデコードし、デコードしたプリミティブを処理部等に通知する。次にデコードしたFISのデスクランブル処理を行い、CRCをチェックする。そしてトランスポートコントローラ10にデータを渡す。またデコード結果やCRCのチェック結果をトランスポートコントローラ10に通知する。   The link controller 50 performs the following processing at the time of reception. That is, the link controller 50 receives the 8b / 10b encoded character from the physical layer circuit 100. Then, the 8b / 10b encoded character is decoded, and the decoded primitive is notified to the processing unit or the like. Next, the decoded FIS is descrambled and the CRC is checked. Then, the data is passed to the transport controller 10. In addition, the transport controller 10 is notified of the decoding result and the CRC check result.

物理層回路(PHY)100は物理層を実現するアナログフロントエンド回路である。この物理層回路100は、シリアルデータ(シリアルストリーム)の送受信や、シリアルデータからパラレルデータへの変換や、パラレルデータからシリアルデータへの変換を行う。また8b/10bのK28.5キャラクタの検出や、OOB(Out Of Band)信号の検出と送信を行う。またデバイスステータス(デバイスの有無、転送状態、パワー状態)の提供や、通信制御用のインターフェース(転送レート制御、ループバック)の提供を行う。またオプションでパワーマネージメントも行う。   A physical layer circuit (PHY) 100 is an analog front-end circuit that realizes a physical layer. The physical layer circuit 100 performs transmission / reception of serial data (serial stream), conversion from serial data to parallel data, and conversion from parallel data to serial data. It also detects 8b / 10b K28.5 characters and detects and transmits OOB (Out Of Band) signals. It also provides device status (device presence / absence, transfer status, power status) and communication control interface (transfer rate control, loopback). Optional power management.

物理層回路100はトランスミッタ(ドライバ)110、レシーバ120を含む。トランスミッタ110は、差動信号線(差動信号線ペア)TX+/−を介してシリアルデータ(パケット)の送信を行い、レシーバ120は差動信号線(差動信号線ペア)RX+/−を介してシリアルデータ(パケット)の受信を行う。TX+/−、RX+/−のSATAバス(広義にはシリアルバス)では、振幅電圧+/−250mVのNRZ差動信号によるシリアルストリーム転送が行われる。転送レートとしては1.5Gbps(SATA II Gen2では3.0Gbps)が用意され、シリアルストリームからデータが抽出される。またSSC(Spread Spectrum Clocking)やトランスミッタ・レシーバのインピーダンス測定も行われる。   The physical layer circuit 100 includes a transmitter (driver) 110 and a receiver 120. The transmitter 110 transmits serial data (packet) via a differential signal line (differential signal line pair) TX +/−, and the receiver 120 via a differential signal line (differential signal line pair) RX +/−. Serial data (packet) is received. On the TX +/− and RX +/− SATA buses (serial bus in a broad sense), serial stream transfer is performed using an NRZ differential signal having an amplitude voltage of +/− 250 mV. A transfer rate of 1.5 Gbps (3.0 Gbps for SATA II Gen2) is prepared, and data is extracted from the serial stream. SSC (Spread Spectrum Clocking) and transmitter / receiver impedance are also measured.

SATAのケーブルは7芯であり、差動信号線TX+/−、RX+/−の各ペアは、トランスミッタ110、レシーバ120に割り当てられる。上がり信号はデバイス側のTX+/−とホスト(HBA)側のRX+/−を接続し、下り信号はホスト側のTX+/−とデバイス側のRX+/−を接続する。SATAでは全二重のみの仕様になっており、データは一方向のみしか通信できない。従ってTX+/−で通信を行っている最中に、バックチャネルとしてRX+/−で相手ノードからのプロトコル通信を行うことができ、フロー制御に有効利用できる。   The SATA cable has 7 cores, and each pair of differential signal lines TX +/− and RX +/− is assigned to the transmitter 110 and the receiver 120. The rising signal connects TX +/− on the device side and RX +/− on the host (HBA) side, and the down signal connects TX +/− on the host side and RX +/− on the device side. SATA has a full-duplex specification, and data can only be transmitted in one direction. Therefore, during communication with TX +/−, protocol communication from the partner node can be performed with RX +/− as a back channel, which can be effectively used for flow control.

リンクコントローラ50はTX(送信)ブロックとRX(受信)ブロックを含む。そしてTXブロックは、パターンジェネレータ52、スクランブラ54、データスクランブラ56を含む。また送信用のCRC演算部58、8b/10bエンコーダ60を含む。更に第1、第2、第3のセレクタ61、62、63を含む。またRXブロックは、データスクランブラ70、受信用のCRC演算部72、8b/10bデコーダ74を含む。なおリンクコントローラ50は図4の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加する構成としてもよい。例えばパターンジェネレータ52をリンクコントローラ50の外側に設けてもよい。   The link controller 50 includes a TX (transmit) block and an RX (receive) block. The TX block includes a pattern generator 52, a scrambler 54, and a data scrambler 56. Further, a CRC calculation unit 58 for transmission and an 8b / 10b encoder 60 are included. Further, first, second, and third selectors 61, 62, and 63 are included. The RX block includes a data scrambler 70, a reception CRC calculation unit 72, and an 8b / 10b decoder 74. The link controller 50 is not limited to the configuration shown in FIG. 4, and some of the components may be omitted or other components may be added. For example, the pattern generator 52 may be provided outside the link controller 50.

パターンジェネレータ52は、コンプライアントパターン(compliant pattern)のテストパターンを発生する。このパターンジェネレータ52は、組み合わせロジック回路により実現してもよいし、ROMにより実現してもよい。またパターンジェネレータ52は、テスト制御部150により指示されたテストパターンを発生して出力する。コンプライアントパターンのテストパターンは、決まったパターンの繰り返しが主であるため、論理圧縮することで、パターンジェネレータ52の組み合わせロジック回路のゲート数を減らすことができる。   The pattern generator 52 generates a test pattern of a compliant pattern. The pattern generator 52 may be realized by a combinational logic circuit or a ROM. The pattern generator 52 generates and outputs a test pattern instructed by the test control unit 150. Since the test pattern of the compliant pattern is mainly the repetition of a predetermined pattern, the number of gates of the combinational logic circuit of the pattern generator 52 can be reduced by performing logical compression.

スクランブラ54はスクランブル処理を行う。このスクランブラ54としては、CONT(コンティニュー)プリミティブに続くスクランブルデータを発生するCONTプリミティブ用のスクランブラを用いることができ、即ちテスト時にはCONTプリミティブは使用しないため、パターンジェネレータ52からのテストパターンを、CONTプリミティブ用のスクランブラを利用してスクランブルできる。   The scrambler 54 performs scramble processing. As the scrambler 54, a scrambler for CONT primitive that generates scramble data following the CONT (continue) primitive can be used. That is, since the CONT primitive is not used during the test, the test pattern from the pattern generator 52 is It can be scrambled using a CONT primitive scrambler.

データスクランブラ56は、トランスポートコントローラ10からの送信データに対してスクランブル処理を行い、スクランブルされたデータ(FIS、CRC)を物理層回路100に向けて出力する。スクランブル処理は例えばG(X)=X16+X15+X13+X+1というような生成多項式を用いたリニアフィードバック・シフトレジスタ(LFSR)により実現できる。スクランブル処理の具体的な実現手法についてはシリアルATAのレビジョン1.0aのA.2に詳細に記述されている。 The data scrambler 56 scrambles the transmission data from the transport controller 10 and outputs the scrambled data (FIS, CRC) to the physical layer circuit 100. The scramble processing can be realized by a linear feedback shift register (LFSR) using a generator polynomial such as G (X) = X 16 + X 15 + X 13 + X 4 +1. A specific implementation method of the scramble processing is described in detail in A.2 of serial ATA revision 1.0a.

図5(A)に、データスクランブラ56の構成例を示す。データスクランブラ56は、スクランブルデータ発生部200とEXOR202(排他的論理和)を含む。そして1DwordのDATA[32:0]がEXOR202の第1の入力端子に入力され、スクランブルデータ発生部200からのスクランブルデータがEXOR202の第2の入力端子に入力され、これらの排他的論理和が演算され、スクランブル処理後のデータとして出力される。   FIG. 5A shows a configuration example of the data scrambler 56. The data scrambler 56 includes a scramble data generation unit 200 and an EXOR 202 (exclusive OR). 1 Dword DATA [32: 0] is input to the first input terminal of the EXOR 202, and the scrambled data from the scramble data generation unit 200 is input to the second input terminal of the EXOR 202, and the exclusive OR of these is calculated. And output as scrambled data.

そして本実施形態ではスクランブラ54(CONTプリミティブ・スクランブラ)は、コンプライアントパターンを用いてテストを行うコンプライアンステスト(compliance test)時に、パターンジェネレータ52からのテストパターンに対してスクランブル処理を行う。そしてデータスクランブラ56は、コンプライアンステスト時に、スクランブラ54からのスクランブル処理後のテストパターンに対してスクランブル処理を行い、得られたテストパターンを物理層回路100に向けて出力する。このようにスクランブル処理を2回施すことで、スクランブルされていない元のテストパターンがデータスクランブラ56から出力されるようになる。   In this embodiment, the scrambler 54 (CONT primitive scrambler) performs a scramble process on the test pattern from the pattern generator 52 during a compliance test in which a test is performed using a compliant pattern. The data scrambler 56 performs a scramble process on the test pattern after the scramble process from the scrambler 54 at the time of the compliance test, and outputs the obtained test pattern to the physical layer circuit 100. By performing the scramble process twice in this way, the original unscrambled test pattern is output from the data scrambler 56.

CRC演算部58は、通常動作時には、送信データのCRCを演算し、データスクランブラ56(セレクタ62)に対して出力する。即ち送信データのCRCを計算し、EOFプリミティブの直前にCRCコードを付加する。このCRC演算は、SOFプリミティブとEOFプリミティブの間の全てのFISトランスポートデータに対して行われ、介在するプリミティブやCONTストリーム・コンテンツに対してはCRC演算は行われない。このCRCは例えばG(X)=X32+X26+X23+X22+X16+X12+X11+X10+X+X+X+X+X+X+1というような生成多項式を用いたリニアフィードバック・シフトレジスタ(LFSR)により実現できる。この場合、CRC値はCRC演算の前に例えば52325032hという値に初期化される。 The CRC calculator 58 calculates the CRC of the transmission data and outputs it to the data scrambler 56 (selector 62) during normal operation. That is, the CRC of the transmission data is calculated, and a CRC code is added immediately before the EOF primitive. This CRC operation is performed on all FIS transport data between the SOF primitive and the EOF primitive, and no CRC operation is performed on intervening primitives and CONT stream contents. This CRC is, for example, a linear feedback shift register using a generator polynomial such as G (X) = X 32 + X 26 + X 23 + X 22 + X 16 + X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X + 1 LFSR). In this case, the CRC value is initialized to a value of, for example, 52325032h before CRC calculation.

そして本実施形態ではCRC演算部58は、コンプライアンステスト時には、パターンジェネレータ52からのテストパターン(スクランブル処理後のテストパターン)についてのCRCを演算し、データスクランブラ56に向けて出力する。   In the present embodiment, the CRC calculation unit 58 calculates the CRC for the test pattern (test pattern after the scramble process) from the pattern generator 52 and outputs it to the data scrambler 56 during the compliance test.

セレクタ61(第1のセレクタ)は、その第1の入力端子に送信データが入力され、その第2の入力端子にスクランブラ54からのスクランブル処理後のテストパターンが入力される。そして通常動作時には第1の入力端子が選択され、コンプライアンステスト時には第2の入力端子が選択される。そしてセレクタ61の出力はCRC演算部58、セレクタ62に入力される。   In the selector 61 (first selector), transmission data is input to the first input terminal, and the test pattern after the scramble processing from the scrambler 54 is input to the second input terminal. In the normal operation, the first input terminal is selected, and in the compliance test, the second input terminal is selected. The output of the selector 61 is input to the CRC calculation unit 58 and the selector 62.

セレクタ62(第2のセレクタ)は、その第1の入力端子にセレクタ61の出力が入力され、その第2の入力端子にCRC演算部58の出力が入力される。そしてCRC演算時以外の時には第1の入力端子が選択され、CRC演算時には第2の入力端子が選択される。そして、セレクタ62の出力端子にデータスクランブラ56へのデータが出力される。   The selector 62 (second selector) receives the output of the selector 61 at its first input terminal and the output of the CRC calculation unit 58 at its second input terminal. The first input terminal is selected at times other than the CRC calculation, and the second input terminal is selected at the CRC calculation. Data to the data scrambler 56 is output to the output terminal of the selector 62.

セレクタ63(第3のセレクタ)は、その第1の入力端子にデータスクランブラ56の出力が入力され、その第2の入力端子にスクランブラ54の出力が入力される。そしてCONTプリミティブのスクランブルデータ(ジャンクデータ)の出力時以外の時には第1の入力端子が選択され、CONTプリミティブのスクランブルデータの出力時には第2の入力端子が選択される。そしてセレクタ63の出力端子に物理層回路100へのデータが出力される。   The selector 63 (third selector) receives the output of the data scrambler 56 at its first input terminal and the output of the scrambler 54 at its second input terminal. When the CONT primitive scramble data (junk data) is not output, the first input terminal is selected, and when the CONT primitive scramble data is output, the second input terminal is selected. Data to the physical layer circuit 100 is output to the output terminal of the selector 63.

8b/10bエンコーダ60は、データスクランブラ56(セレクタ63)と物理層回路100との間に設けられ、8b/10bのエンコード処理を行う。この8b/10bのエンコードでは、8ビットのバイトデータが10ビットのデータにコード変換される。具体的には10ビットのビット列のうち、256通りのデータに対してランニングディスパリティを付けて、割り当てても余ったコードは、制御用にKキャラクタとして割り当てる。SATAでは、このうちK28.3、K28.5のコードのみを使用する。SATAの各プリミティブは、1個のK28.3又はK28.5のコードと、3つのデータコードから構成される。リンクコントローラ50の転送は、1Dword(32ビット)のフレームデータ又はプリミティブを、それぞれ40ビットのビット列に変換して物理層回路100に送る。ここでプリミティブとしては、ALIGN、CONT、DMAT、SOF、EOF、HOLD、HOLDA、R_ERR、R_RDY、R_IP、R_OK、X_RDY、SYNCなどがある。   The 8b / 10b encoder 60 is provided between the data scrambler 56 (selector 63) and the physical layer circuit 100, and performs 8b / 10b encoding processing. In the 8b / 10b encoding, 8-bit byte data is code-converted into 10-bit data. Specifically, a running disparity is added to 256 types of data in a 10-bit bit string, and the remaining code is assigned as a K character for control. In SATA, only K28.3 and K28.5 codes are used. Each SATA primitive is composed of one K28.3 or K28.5 code and three data codes. In the transfer by the link controller 50, 1-Dword (32 bits) frame data or primitives are converted into 40-bit bit strings and sent to the physical layer circuit 100. Here, primitives include ALIGN, CONT, DMAT, SOF, EOF, HOLD, HOLDA, R_ERR, R_RDY, R_IP, R_OK, X_RDY, SYNC, and the like.

RXブロックのデータデスクランブラ70は、物理層回路100が受信したデータ(RX+/−)のデスクランブル処理を行う。即ちスクランブル処理後のデータを、スクランブルされていない元のデータに戻す。   The data descrambler 70 of the RX block performs a descrambling process on the data (RX +/−) received by the physical layer circuit 100. That is, the scrambled data is returned to the original unscrambled data.

図5(B)に、データデスクランブラ70の構成例を示す。データデスクランブラ70は、スクランブルデータ発生部210とEXOR212(排他的論理和)を含む。そして1DwordのDATA[32:0]がEXOR212の第1の入力端子に入力され、スクランブルデータ発生部210からのスクランブルデータがEXOR212の第2の入力端子に入力され、これらの排他的論理和が演算され、スクランブル処理後のデータとして出力される。   FIG. 5B shows a configuration example of the data descrambler 70. The data descrambler 70 includes a scramble data generator 210 and an EXOR 212 (exclusive OR). Then, 1 Dword DATA [32: 0] is input to the first input terminal of the EXOR 212, the scrambled data from the scramble data generating unit 210 is input to the second input terminal of the EXOR 212, and the exclusive OR of these is calculated. And output as scrambled data.

RXブロックのCRC演算部72は、デスクランブル処理後のデータのCRCを演算して、CRCをチェックする。即ち受信データのCRCを演算し、受信したデータが正しいデータか否かをCRCコードに基づきチェックする。またRXブロックの8b/10bデコーダ74は、物理層回路100とデータデスクランブラ70との間に設けられ、8b/10bのデコード処理を行う。即ち10ビットのコードを8ビットのデータにデコードする。   The CRC calculation unit 72 of the RX block calculates the CRC of the data after descrambling and checks the CRC. That is, the CRC of the received data is calculated, and it is checked based on the CRC code whether the received data is correct data. The 8b / 10b decoder 74 of the RX block is provided between the physical layer circuit 100 and the data descrambler 70, and performs 8b / 10b decoding processing. That is, the 10-bit code is decoded into 8-bit data.

テスト制御部150は、パターンジェネレータ52の制御などのテスト処理を行う。具体的には、複数のテストパターン(LTDP、HTDP、LFSCP、LBP、SSOP等)の中から、パターンジェネレータ52が発生するテストパターンを選択する。そして選択されたテストパターンの発生をパターンジェネレータ52に対して指示する。   The test control unit 150 performs test processing such as control of the pattern generator 52. Specifically, a test pattern generated by the pattern generator 52 is selected from a plurality of test patterns (LTDP, HTDP, LFSCP, LBP, SSOP, etc.). The pattern generator 52 is instructed to generate the selected test pattern.

3.コンプライアンステスト
SATAの物理層回路100を評価するテストとしてコンプライアンステストがある。このコンプライアンステストでは、SATAで推奨されるコンプライアントパターンをSATAのケーブル上に出力して信号波形等を評価する。具体的には例えばSATAコネクタをSMAケーブルに変換し、10GHz以上のオシロスコープで信号を測定することで、信号のジッタ、アイパターンなどを評価する。
3. Compliance Test As a test for evaluating the SATA physical layer circuit 100, there is a compliance test. In this compliance test, a compliant pattern recommended by SATA is output onto a SATA cable, and a signal waveform or the like is evaluated. Specifically, for example, a SATA connector is converted into an SMA cable, and a signal is measured with an oscilloscope of 10 GHz or more to evaluate signal jitter, eye pattern, and the like.

図6(A)にコンプライアントパターンのフォーマットを示す。コンプライアントパターンは、SOFプリミティブと、テストパターン(specified test pattern)と、CRCと、EOFプリミティブにより構成される。図6(B)、(C)、図7(A)(B)(C)に、SATA IIの規格に記述されているテストパターンの例を示す。   FIG. 6A shows the format of the compliant pattern. The compliant pattern includes an SOF primitive, a test pattern (specified test pattern), a CRC, and an EOF primitive. FIGS. 6B, 6C, 7A, 7B, and 7C show examples of test patterns described in the SATA II standard.

図6(B)は、ネガティブ・ランニング・ディスパリティであるRD−からスタートするLTDP(Low Transition Density bit Pattern)の例である。LTDPは、0、1が長く続く低遷移のテストパターンであり、シンボル間干渉による高周波ジッターを創出することを意図したテストパターンである。なおポジティブ・ランニング・ディスパリティであるRD+からスタートするLTDPもある。   FIG. 6B is an example of a low transition density bit pattern (LTDP) starting from RD-, which is negative running disparity. LTDP is a low transition test pattern in which 0 and 1 continue for a long time, and is a test pattern intended to create high frequency jitter due to intersymbol interference. There is also an LTDP that starts from RD +, which is positive running disparity.

図6(C)は、RD−からスタートするHTDP(High Transition Density bit Pattern)の例である。HTDPは、0、1が短周期で変化する高遷移のテストパターンであり、シンボル間干渉による高周波ジッターを創出することを意図したテストパターンである。なおRD+からスタートするHTDPもある。   FIG. 6C is an example of HTDP (High Transition Density bit Pattern) starting from RD-. HTDP is a high transition test pattern in which 0 and 1 change in a short cycle, and is a test pattern intended to create high frequency jitter due to intersymbol interference. Some HTDPs start from RD +.

図7(A)は、RD+からスタートするLFSCP(Low Frequency Spectral Content Pattern)の例である。LFSCPは、ハイパスフィルタ回路の入力テストに好適なテストパターンであり、性能の低いトランスミッターでは、このテストパターンの送信により信号劣化が発生する。   FIG. 7A shows an example of LFSCP (Low Frequency Spectral Content Pattern) starting from RD +. LFSCP is a test pattern suitable for an input test of a high-pass filter circuit. In a transmitter having low performance, signal degradation occurs due to transmission of this test pattern.

図7(B)は、RD−又はRD+からスタートするLBP(Lone-Bit Pattern)の例である。LBPは、所定の10ビットパターンの連続的な組み合わせを含むテストパターンである。   FIG. 7B is an example of LBP (Lone-Bit Pattern) starting from RD− or RD +. The LBP is a test pattern including a continuous combination of predetermined 10-bit patterns.

図7(C)は、RD−又はRD+からスタートするSSOP(Simultaneous Switching Outputs bit Pattern)の例である。SSOPは、微分ノイズ等を基板に生じさせてレシーバをテストするのに好適なテストパターンである。なおテストパターンには図6(B)〜図7(C)以外にもCOMP(Composite Pattern)などの種々のパターンが考えられる。   FIG. 7C is an example of SSOP (Simultaneous Switching Outputs Bit Pattern) starting from RD− or RD +. SSOP is a test pattern suitable for testing a receiver by causing differential noise or the like on a substrate. In addition to the test patterns shown in FIGS. 6B to 7C, various patterns such as COMP (Composite Pattern) can be considered.

図4のテスト制御部150は、図6(B)〜図7(C)のテストパターンの中から、パターンジェネレータ52が発生するテストパターンを選択して指示する。するとパターンジェネレータ52は、選択指示されたテストパターンを発生する。そしてスクランブラ54がテストパターンのスクランブル処理を行い、スクランブル処理後のテストパターンがセレクタ61、62を介してデータスクランブラ56に入力される。そしてデータスクランブラ56が、スクランブル処理後のテストパターンに対して再度スクランブル処理を行うことで、結局、スクランブルされたテストパターンがスクランブルされていない元のテストパターンに戻る。また、CRC演算部58が、スクランブル処理後のテストパターンのCRCを演算し、図6(A)に示すようにテストパターンの最後尾にCRC(CRCコード)を付加する。また図示しないプリミティブジェネレータが、SOFやEOFのプリミティブを付加することで、図6(A)のようなコンプライアントパターンが生成されて、物理層回路100に出力される。   The test control unit 150 in FIG. 4 selects and instructs a test pattern generated by the pattern generator 52 from the test patterns in FIGS. 6B to 7C. Then, the pattern generator 52 generates a test pattern instructed to be selected. The scrambler 54 scrambles the test pattern, and the scrambled test pattern is input to the data scrambler 56 via the selectors 61 and 62. Then, the data scrambler 56 performs the scramble process again on the test pattern after the scramble process, so that the scrambled test pattern returns to the original unscrambled test pattern. Also, the CRC calculation unit 58 calculates the CRC of the test pattern after the scramble process, and adds a CRC (CRC code) to the end of the test pattern as shown in FIG. A primitive generator (not shown) adds SOF and EOF primitives to generate a compliant pattern as shown in FIG. 6A and output it to the physical layer circuit 100.

図8に比較例のデータ転送制御装置の構成例を示す。図8の比較例の構成でコンプライアンステストを実現しようとすると、以下のような問題がある。   FIG. 8 shows a configuration example of a data transfer control device of a comparative example. If a compliance test is to be realized with the configuration of the comparative example of FIG. 8, there are the following problems.

即ちSATAの規格ではコンプライアントパターンのテストパターンについては、スクランブルがかからないパターンのビット列のままでSATAのケーブル(シリアルバス)上に現れる必要がある。一方、SATA規格では送信データに対してはスクランブルがかけられる。   That is, in the SATA standard, the compliant pattern test pattern needs to appear on the SATA cable (serial bus) as a bit string having a pattern that is not scrambled. On the other hand, in the SATA standard, transmission data is scrambled.

そして図8の比較例の構成でコンプライアンステストを実現する第1の手法として、リンクコントローラ550の外側から、CPU等がテストパターンをリンクコントローラ550に入力する手法が考えられる。しかしながら、この第1の手法によると、入力したテストパターンがデータスクランブラ556によりスクランブルされてしまい、図6(B)〜図7(C)に示すような期待通りのテストパターンのビット列が、SATAのケーブル上に現れなくなってしまう。このため、スクランブルがかかった状態で、図6(B)〜図7(C)のテストパターンがSATAのケーブル上に現れるように、テストパターンを発生する必要があり、テストパターンの発生処理が複雑になる。従ってCPU等の処理に不要な負荷をかけてしまい、家電などの電子機器の組込用途に好適なデータ転送制御装置を実現できない。   As a first method for realizing the compliance test with the configuration of the comparative example in FIG. 8, a method in which a CPU or the like inputs a test pattern to the link controller 550 from the outside of the link controller 550 can be considered. However, according to this first method, the input test pattern is scrambled by the data scrambler 556, and the bit string of the test pattern as expected as shown in FIGS. Will no longer appear on the cable. Therefore, it is necessary to generate a test pattern so that the test patterns shown in FIGS. 6B to 7C appear on the SATA cable in a scrambled state, and the test pattern generation process is complicated. become. Therefore, an unnecessary load is applied to the processing of the CPU and the like, and a data transfer control device suitable for an electronic device such as a home appliance cannot be realized.

一方、図8の比較例の構成でコンプライアンステストを実現する第2の手法として、スクランブルがかかっていないテストパターンを、テスト回路等を用いて図8の物理層回路500に対して直接入力する手法が考えられる。しかしながら、コンプライアントパターンの場合には、図6(A)に示すように、CRCを演算してテストパターンの最後尾に付加する必要がある。従ってこの第2の手法では、CRCの演算が極めて困難になってしまう。   On the other hand, as a second method for realizing the compliance test with the configuration of the comparative example of FIG. 8, a method of directly inputting an unscrambled test pattern to the physical layer circuit 500 of FIG. 8 using a test circuit or the like. Can be considered. However, in the case of a compliant pattern, as shown in FIG. 6A, it is necessary to calculate the CRC and add it to the end of the test pattern. Therefore, with this second method, CRC calculation becomes extremely difficult.

この点、図4の本実施形態では、パターンジェネレータ52がコンプライアントパターンのテストパターンを発生し、スクランブラ54が、発生したテストパターンのスクランブル処理を行う。そしてデータスクランブラ56が、スクランブル処理後のテストパターンに対して再度スクランブル処理を行うことで、結局、スクランブルされたテストパターンがスクランブルされていない元のテストパターンに戻る。従って、SATAのケーブル上には、図6(B)〜図7(C)に示すような期待通りの元のテストパターンが現れるようになり、適正なコンプライアンステストを実現できる。   In this regard, in the present embodiment of FIG. 4, the pattern generator 52 generates a compliant pattern test pattern, and the scrambler 54 performs scramble processing of the generated test pattern. Then, the data scrambler 56 performs the scramble process again on the test pattern after the scramble process, so that the scrambled test pattern returns to the original unscrambled test pattern. Therefore, the original test pattern as expected as shown in FIGS. 6B to 7C appears on the SATA cable, and an appropriate compliance test can be realized.

また図4の本実施形態では、CRC演算部58が、スクランブル処理後のテストパターンのCRCを演算してその最後尾に付加する。従って、通常の送信データの場合と同じ制御フローで、CRCを演算して付加する処理を実現でき、CRCの演算処理、制御フローを簡素化できる。   In the present embodiment of FIG. 4, the CRC calculation unit 58 calculates the CRC of the test pattern after the scramble process and adds it to the tail. Therefore, it is possible to realize a process of calculating and adding a CRC with the same control flow as in the case of normal transmission data, and to simplify the CRC calculation process and the control flow.

例えばデータ転送制御装置がループバックモードに設定され、TXブロックの送信データをRXブロックが受信したとする。この場合には、データデスクランブラ70は、スクランブルされていないテストパターンに対してデスクランブル処理を行うため、データデスクランブラ70からは、結局、スクランブルされたテストパターンが出力されるようになる。そしてCRC演算部72はスクランブルされたテストパターンのCRCを演算して、CRCチェックを行う。従って、送信側(TXブロック)と受信側(RXブロック)とでCRC演算の結果が一致するようになるため、正しいCRCチェックが可能になる。   For example, it is assumed that the data transfer control device is set to the loopback mode and the TX block receives the transmission data of the TX block. In this case, the data descrambler 70 performs a descrambling process on the unscrambled test pattern, so that the data descrambler 70 eventually outputs a scrambled test pattern. The CRC calculator 72 calculates the CRC of the scrambled test pattern and performs a CRC check. Therefore, the CRC calculation results on the transmission side (TX block) and the reception side (RX block) match, so that a correct CRC check can be performed.

4.CONTプリミティブ
本実施形態では図4に示すように、スクランブラ54としてCONTプリミティブ用のスクランブラを有効活用している。これにより、データ転送制御装置の回路規模の増加を最小限に抑えることができる。
4). CONT Primitive In this embodiment, as shown in FIG. 4, a scrambler for CONT primitive is effectively used as the scrambler 54. Thereby, an increase in the circuit scale of the data transfer control device can be minimized.

まずプリミティブについて説明する。プリミティブは、シリアルラインの制御、ステータスを提供するためのDwordエンティティであり、コントロールキャラクタから始まる。具体的にはALIGNプリミティブ以外のプリミティブは、K28.3のコントロールキャラクタから始まり、K28.5は、ALIGNプリミティブに専用のコントロールキャラクタになる。プリミティブでは、これらのコントロールキャラクタに続いて、Dwordを完成するための3つのデータキャラクタが付加される。   First, the primitive will be described. The primitive is a Dword entity for providing serial line control and status, and starts with a control character. Specifically, primitives other than the ALIGN primitive start with a control character of K28.3, and K28.5 becomes a control character dedicated to the ALIGN primitive. In the primitive, following these control characters, three data characters for completing Dword are added.

SATAでは、同じ制御コードが続いてEMIが発生するのを避けるために、CONTプリミティブが用意されている。このCONTプリミティブにより、同じプリミティブの繰り返しが除去され、EMIを低減できる。CONTプリミティブを受信した受信側は、CONTプリミティブに続いて受信した全てのデータを、他のプリミティブ(ALIGNプリミティブを除く)を受信するまで無視する。送信側は、プリミティブを送信した後、次にプリミティブを送信するまでスクランブルデータ(ジャンクデータ)を送信する。   In SATA, a CONT primitive is prepared to avoid the occurrence of EMI following the same control code. With this CONT primitive, repetition of the same primitive is removed, and EMI can be reduced. The receiving side that has received the CONT primitive ignores all data received following the CONT primitive until it receives other primitives (except for the ALIGN primitive). After transmitting the primitive, the transmitting side transmits scrambled data (junk data) until the next primitive is transmitted.

例えば図9のA1では、送信側はX_RDYプリミティブにより受信側に対して送信要求を行う。そしてX_RDYプリミティブが2回以上続くため、A2に示すようにCONTプリミティブを送信する。その後、A3に示すようにスクランブルデータ(ジャンクデータ)を送信する。   For example, in A1 of FIG. 9, the transmission side makes a transmission request to the reception side by the X_RDY primitive. Since the X_RDY primitive continues two or more times, a CONT primitive is transmitted as indicated by A2. Thereafter, as shown in A3, scramble data (junk data) is transmitted.

受信側は、A4に示すようにR_RDYプリミティブにより受信を承諾する。そしてR_RDYプリミティブが2回以上続くため、A5に示すようにCONTプリミティブを送信する。   The receiving side accepts reception by the R_RDY primitive as shown at A4. Since the R_RDY primitive continues two or more times, a CONT primitive is transmitted as shown in A5.

次に送信側はA6、A7、A8に示すように、まずSOFプリミティブを送信し、それに続いてFISのタイプを知らせるTYPEで示したFISタイプを含むDATAを送信し、その後、FISのDATAを送信する。   Next, as shown in A6, A7, and A8, the transmitting side first transmits an SOF primitive, then transmits DATA including the FIS type indicated by TYPE informing the FIS type, and then transmits FIS DATA. To do.

受信側は、A9に示すように受信中であることを知らせるR_IPプリミティブを送信し、A10に示すように、R_IPプリミティブが2回以上続くため、CONTプリミティブを送信する。そしてA11では、送信側はHOLDプリミティブを用いてポーズ要求を出した後、A12に示すようにCONTプリミティブを送信する。A13に示すように受信側はHOLDAプリミティブでアクノリッジを返す。   The receiving side transmits an R_IP primitive informing that reception is in progress as indicated by A9, and transmits a CONT primitive because the R_IP primitive continues two or more times as indicated by A10. In A11, the transmission side issues a pause request using the HOLD primitive, and then transmits a CONT primitive as shown in A12. As shown at A13, the receiving side returns an acknowledge with a HOLDA primitive.

その後、送信側が、A14に示すようにHOLDプリミティブを送信してCONTを解除し、A15に示すようにDATAの送信を再開する。そしてA16に示すようにDATAのCRCを演算して出力し、A17に示すようにEOFプリミティブを送信する。そして受信側からの受信ステータスを待つ間、WTRMプリミティブを送信する。またWTRMプリミティブが2回以上続くため、A19に示すようにCONTプリミティブを送信する。そしてA21に示すように受信側は、エラーもなく正常にペイロードを受信した事を知らせるR_OKプリミティブを送信する。そしてA22、A23に示すように、送信側がSYNCプリミティブを送り、受信側もSYNCプリミティブを送ると、アイドル状態に移行する。この時も、SYNCプリミティブが2回以上続くため、A24、A25に示すようにCONTプリミティブが送信される。   Thereafter, the transmission side transmits a HOLD primitive as shown in A14 to cancel CONT, and resumes the transmission of DATA as shown in A15. Then, the CRC of DATA is calculated and output as indicated by A16, and the EOF primitive is transmitted as indicated by A17. Then, while waiting for the reception status from the reception side, the WTRM primitive is transmitted. Since the WTRM primitive continues twice or more, a CONT primitive is transmitted as shown in A19. As shown in A21, the receiving side transmits an R_OK primitive notifying that the payload has been normally received without error. Then, as shown in A22 and A23, when the transmitting side sends a SYNC primitive and the receiving side also sends a SYNC primitive, the state shifts to an idle state. Also at this time, since the SYNC primitive continues twice or more, the CONT primitive is transmitted as shown in A24 and A25.

このようにCONTプリミティブを使用する場合、CONTプリミティブに続いて送信するスクランブルデータを発生する必要がある。そこで図4の本実施形態では、スクランブラ54が、通常動作時には、CONTプリミティブに続くスクランブルデータを発生すし、図8のCONTプリミティブスクランブラ554の機能を実現する。即ちスクランブラ54は、CONTプリミティブが出力された後、スクランブルデータ(ジャンクデータ)をセレクタ63に対して出力する。   When the CONT primitive is used in this way, it is necessary to generate scramble data to be transmitted following the CONT primitive. Therefore, in the present embodiment of FIG. 4, the scrambler 54 generates scramble data following the CONT primitive during normal operation, thereby realizing the function of the CONT primitive scrambler 554 of FIG. That is, the scrambler 54 outputs scramble data (junk data) to the selector 63 after the CONT primitive is output.

一方、テスト時には、CONTプリミティブは不要になる。そこで本実施形態では、CONTプリミティブ用のスクランブラ54を、テストパターン用のスクランブラに有効活用する。即ちCONT用に発生していたスクランブルデータを用いて、パターンジェネレータ52からのテストパターンに対するスクランブル処理を行う。このようにすれば、テストパターン用のスクランブラを新たに設ける必要がなくなるため、データ転送制御装置の回路規模の増加を最小限に抑えることが可能になる。   On the other hand, the CONT primitive is not required during testing. Therefore, in this embodiment, the CONT primitive scrambler 54 is effectively used as a test pattern scrambler. That is, the scramble process for the test pattern from the pattern generator 52 is performed using the scramble data generated for the CONT. This eliminates the need to newly provide a test pattern scrambler, thereby minimizing the increase in the circuit scale of the data transfer control device.

以上のような本実施形態のデータ転送制御装置によれば、規格に準拠したテストパターンを、ランダムロジックやROMにより実現されるパターンジェネレータ52により発生している。従って、ソフトウェアによる複雑な制御を必要とせずにコンプライアンステストを実現でき、CPU等の処理負荷を軽減できるという効果がある。   According to the data transfer control device of the present embodiment as described above, the test pattern conforming to the standard is generated by the pattern generator 52 realized by random logic or ROM. Therefore, the compliance test can be realized without requiring complicated control by software, and the processing load of the CPU or the like can be reduced.

またテストパターンを自動的に2回スクランブルすることで、期待通りのテストパターンがSATAのケーブル上に現れるようになる。またテストパターンにスクランブルをかけるための回路は、データ転送制御装置が本来具備しているCONTプリミティブ用の回路を再利用しているため、ハードウェアの大規模化、コストの増加を防止できる。   In addition, by automatically scrambling the test pattern twice, the expected test pattern appears on the SATA cable. Further, since the circuit for scrambling the test pattern reuses the CONT primitive circuit originally provided in the data transfer control device, it is possible to prevent an increase in hardware scale and cost.

また本実施形態では簡素な制御及び少ない端子で、コンプライアンスのテストや評価を実現できるという効果がある。   In addition, the present embodiment has an effect that a compliance test and evaluation can be realized with simple control and a small number of terminals.

5.電子機器
図10に本実施形態の電子機器の構成例を示す。この電子機器は、本実施形態で説明したデータ転送制御装置310と、処理部330(CPU)と、ROM340と、RAM350と、表示部360と、操作部370を含む。また、データ転送制御装置310とSATAを介して接続されるデバイス320を含むことができる。なお本実施形態の電子機器の構成は図10に限定されず、図10の構成要素の一部を省略したり、他の構成要素を付加する変形実施が可能である。
5). Electronic Device FIG. 10 shows a configuration example of the electronic device of the present embodiment. This electronic device includes the data transfer control device 310, the processing unit 330 (CPU), the ROM 340, the RAM 350, the display unit 360, and the operation unit 370 described in the present embodiment. Moreover, the device 320 connected with the data transfer control apparatus 310 via SATA can be included. Note that the configuration of the electronic device of the present embodiment is not limited to that shown in FIG. 10, and modifications may be made by omitting some of the components shown in FIG. 10 or adding other components.

図10においてデバイス320は、HDD(ハードディスクドライブ)等のストレージデバイスである。但しデバイス320はHDD等のストレージデバイスに限定されない。   In FIG. 10, a device 320 is a storage device such as an HDD (hard disk drive). However, the device 320 is not limited to a storage device such as an HDD.

処理部330(CPU)はデータ転送制御装置310や電子機器の全体制御を行う。なおデータ転送制御装置310を制御する処理部と、電子機器を制御する処理部とを別々に設けてもよい。ROM340は制御プログラムや各種データを記憶する。RAM350は処理部330やデータ転送制御装置310のワーク領域やデータ格納領域として機能する。表示部360は種々の情報をユーザに表示する。操作部370はユーザが電子機器を操作するためのものである。   The processing unit 330 (CPU) performs overall control of the data transfer control device 310 and the electronic device. A processing unit that controls the data transfer control device 310 and a processing unit that controls the electronic device may be provided separately. The ROM 340 stores control programs and various data. The RAM 350 functions as a work area and a data storage area for the processing unit 330 and the data transfer control device 310. The display unit 360 displays various information to the user. The operation unit 370 is for the user to operate the electronic device.

なお、本実施形態を適用できる電子機器としては、HDDレコーダ、ビデオカメラ、オーディオ機器、携帯型音楽プレーヤ、携帯型映像プレーヤ、ゲーム装置、又は携帯型ゲーム装置等の種々のものが考えられる。   Various electronic devices such as an HDD recorder, a video camera, an audio device, a portable music player, a portable video player, a game device, or a portable game device can be considered as electronic devices to which the present embodiment can be applied.

なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(シリアルバス、処理部等)と共に記載された用語(SATA、CPU等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またデータ転送制御装置、電子機器の構成、動作も本実施形態で説明したものに限定に限定されず、種々の変形実施が可能である。また、本実施形態では、SATAへの本発明の適用例について説明したが、本発明は、SATAと同様の思想に基づく規格や、SATA(SATA I、SATA II、SAS)を発展させた規格等にも適用できる。   Although the present embodiment has been described in detail as described above, it will be easily understood by those skilled in the art that many modifications can be made without departing from the novel matters and effects of the present invention. Accordingly, all such modifications are included in the scope of the present invention. For example, a term (SATA, CPU, etc.) described together with a different term (serial bus, processing unit, etc.) in a broader sense or the same meaning at least once in the specification or drawing is used in any place of the specification or drawing. Can be replaced with a different term. Further, the configuration and operation of the data transfer control device and the electronic device are not limited to those described in the present embodiment, and various modifications can be made. In the present embodiment, the application example of the present invention to SATA has been described. However, the present invention is based on a standard based on the same idea as SATA, a standard developed from SATA (SATA I, SATA II, SAS), or the like. It can also be applied to.

SATAのプロトコルの層構造の説明図。Explanatory drawing of the layer structure of the SATA protocol. SATAの送信側のデータ処理の説明図。Explanatory drawing of the data processing of the transmission side of SATA. SATAの受信側のデータ処理の説明図。Explanatory drawing of the data processing by the side of SATA reception. 本実施形態のデータ転送制御装置の構成例。1 is a configuration example of a data transfer control device according to the present embodiment. 図5(A)(B)はデータスクランブラ、データデスクランブラの構成例。5A and 5B are configuration examples of a data scrambler and a data descrambler. 図6(A)はコンプライアントパターンのフォーマット例であり、図6(B)(C)はコンプライアントパターンのテストパターンの例。6A shows an example of a compliant pattern format, and FIGS. 6B and 6C show examples of a test pattern of a compliant pattern. 図7(A)(B)(C)はコンプライアントパターンのテストパターンの例。7A, 7B, and 7C are examples of compliant pattern test patterns. 比較例のデータ転送制御装置の構成例。2 is a configuration example of a data transfer control device of a comparative example. CONTプリミティブ等の説明図。Explanatory drawing of CONT primitive etc. 電子機器の構成例。Configuration example of an electronic device.

符号の説明Explanation of symbols

10 トランスポートコントローラ、50 リンクコントローラ、
52 パターンジェネレータ、54 スクランブラ、56 データスクランブラ、
60 8b/10bエンコーダ、61、62、63 第1、第2、第3のセレクタ、
70 データデスクランブラ、72 CRC演算部、74 8b/10bデコーダ、
100 物理層回路、110 トランスミッタ、120 レシーバ
10 transport controller, 50 link controller,
52 pattern generator, 54 scrambler, 56 data scrambler,
60 8b / 10b encoder, 61, 62, 63 first, second, third selector,
70 data descrambler, 72 CRC calculation unit, 74 8b / 10b decoder,
100 physical layer circuit, 110 transmitter, 120 receiver

Claims (11)

シリアルバスを介してデータ転送を行うデータ転送制御装置であって、
コンプライアントパターンのテストパターンを発生するパターンジェネレータと、
スクランブル処理を行うスクランブラと、
送信データに対してスクランブル処理を行って出力するデータスクランブラとを含み、
前記スクランブラは、
コンプライアントパターンを用いてテストを行うコンプライアンステスト時に、前記パターンジェネレータからのテストパターンに対してスクランブル処理を行い、
前記データスクランブラは、
前記コンプライアンステスト時に、前記スクランブラからのスクランブル処理後のテストパターンに対してスクランブル処理を行って出力することを特徴とするデータ転送制御装置。
A data transfer control device for transferring data via a serial bus,
A pattern generator that generates compliant pattern test patterns;
A scrambler that performs scramble processing;
Including a data scrambler that scrambles the transmission data and outputs the scrambled data,
The scrambler is
When performing a compliance test using a compliant pattern, the test pattern from the pattern generator is scrambled,
The data scrambler is
A data transfer control device, wherein the test pattern after scramble processing from the scrambler is scrambled and outputted at the time of the compliance test.
請求項1において、
送信データのCRCを演算し、前記データスクランブラに対して出力する送信用CRC演算部を含み、
前記送信用CRC演算部は、
前記コンプライアンステスト時に、前記パターンジェネレータからのテストパターンについてのCRCを演算し、前記データスクランブラに対して出力することを特徴とするデータ転送制御装置。
In claim 1,
A CRC calculation unit for transmission that calculates a CRC of transmission data and outputs the CRC to the data scrambler;
The CRC calculation unit for transmission is
A data transfer control device that calculates a CRC of a test pattern from the pattern generator and outputs the CRC to the data scrambler during the compliance test.
請求項2において、
その第1の入力端子に送信データが入力され、その第2の入力端子に前記スクランブラからのスクランブル処理後のテストパターンが入力される第1のセレクタと、
その第1の入力端子に前記第1のセレクタの出力が入力され、その第2の入力端子に前記送信用CRC演算部の出力が入力され、その出力端子に前記データスクランブラへのデータが出力される第2のセレクタを含むことを特徴とするデータ転送制御装置。
In claim 2,
A first selector in which transmission data is input to the first input terminal, and a test pattern after scramble processing from the scrambler is input to the second input terminal;
The output of the first selector is input to the first input terminal, the output of the CRC calculation unit for transmission is input to the second input terminal, and the data to the data scrambler is output to the output terminal. A data transfer control device comprising a second selector.
請求項3において、
その第1の入力端子に前記データスクランブラの出力が入力され、その第2の入力端子に前記スクランブラの出力が入力され、その出力端子に物理層回路へのデータが出力される第3のセレクタを含むことを特徴とするデータ転送制御装置。
In claim 3,
The output of the data scrambler is input to the first input terminal, the output of the scrambler is input to the second input terminal, and the data to the physical layer circuit is output to the output terminal. A data transfer control device comprising a selector.
請求項1乃至4のいずれかにおいて、
前記スクランブラは、
コンティニュー・プリミティブに続くスクランブルデータを発生するスクランブラであることを特徴とするデータ転送制御装置。
In any one of Claims 1 thru | or 4,
The scrambler is
A scrambler that generates scrambled data following a continue primitive.
請求項1乃至5のいずれかにおいて、
前記データスクランブラと物理層回路との間に設けられ、8b/10bのエンコード処理を行う8b/10bエンコーダを含むことを特徴とするデータ転送制御装置。
In any one of Claims 1 thru | or 5,
A data transfer control device comprising an 8b / 10b encoder which is provided between the data scrambler and the physical layer circuit and performs 8b / 10b encoding processing.
請求項1乃至6のいずれかにおいて、
複数のテストパターンの中から、前記パターンジェネレータが発生するテストパターンを前記パターンジェネレータに対して指示するテスト制御部を含むことを特徴とするデータ転送制御装置。
In any one of Claims 1 thru | or 6.
A data transfer control device comprising: a test control unit that instructs a test pattern generated by the pattern generator to a pattern generator from a plurality of test patterns.
請求項1乃至7のいずれかにおいて、
物理層回路が受信したデータのデスクランブル処理を行うデータデスクランブラと、
デスクランブル処理後のデータのCRCを演算する受信用CRC演算部を含むことを特徴とするデータ転送制御装置。
In any one of Claims 1 thru | or 7,
A data descrambler that performs descrambling of the data received by the physical layer circuit;
A data transfer control device comprising a reception CRC calculation unit for calculating a CRC of data after descrambling.
請求項8において、
物理層回路と前記データデスクランブラとの間に設けられ、8b/10bのデコード処理を行う8b/10bデコーダを含むことを特徴とするデータ転送制御装置。
In claim 8,
A data transfer control device comprising an 8b / 10b decoder provided between a physical layer circuit and the data descrambler and performing 8b / 10b decoding processing.
請求項1乃至9のいずれかにおいて、
前記シリアルバスはシリアルATA(Serial AT Attachment)のバスであることを特徴とするデータ転送制御装置。
In any one of Claims 1 thru | or 9,
The data transfer control device, wherein the serial bus is a serial ATA (Serial AT Attachment) bus.
請求項1乃至10のいずれかに記載のデータ転送制御装置と、
前記データ転送制御装置を制御する処理部と、
を含むことを特徴とする電子機器。
A data transfer control device according to any one of claims 1 to 10,
A processing unit for controlling the data transfer control device;
An electronic device comprising:
JP2006345599A 2006-02-06 2006-12-22 Data transfer control device and electronic apparatus Pending JP2007233993A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006345599A JP2007233993A (en) 2006-02-06 2006-12-22 Data transfer control device and electronic apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006028873 2006-02-06
JP2006345599A JP2007233993A (en) 2006-02-06 2006-12-22 Data transfer control device and electronic apparatus

Publications (1)

Publication Number Publication Date
JP2007233993A true JP2007233993A (en) 2007-09-13

Family

ID=38554480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006345599A Pending JP2007233993A (en) 2006-02-06 2006-12-22 Data transfer control device and electronic apparatus

Country Status (1)

Country Link
JP (1) JP2007233993A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214678B2 (en) 2008-10-03 2012-07-03 Renesas Electronics Corporation Serial data transfer apparatus
US8699494B2 (en) 2012-01-12 2014-04-15 Fuji Xerox Co., Ltd. Image transfer apparatus, method, and computer readable medium
FR3025681A1 (en) * 2014-09-09 2016-03-11 St Microelectronics Grenoble 2 METHODS OF TRANSMITTING AND RECEIVING A SERIAL SIGNAL AND CORRESPONDING DEVICES

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214678B2 (en) 2008-10-03 2012-07-03 Renesas Electronics Corporation Serial data transfer apparatus
US8612790B2 (en) 2008-10-03 2013-12-17 Renesas Electronics Corporation Serial data transfer apparatus
US8699494B2 (en) 2012-01-12 2014-04-15 Fuji Xerox Co., Ltd. Image transfer apparatus, method, and computer readable medium
FR3025681A1 (en) * 2014-09-09 2016-03-11 St Microelectronics Grenoble 2 METHODS OF TRANSMITTING AND RECEIVING A SERIAL SIGNAL AND CORRESPONDING DEVICES
US9831979B2 (en) 2014-09-09 2017-11-28 Stmicroelectronics (Grenoble 2) Sas Methods for transmission and reception of a serial signal and corresponding devices
FR3058853A1 (en) * 2014-09-09 2018-05-18 Stmicroelectronics (Grenoble 2) Sas METHODS OF TRANSMITTING AND RECEIVING A SERIAL SIGNAL AND CORRESPONDING DEVICES

Similar Documents

Publication Publication Date Title
US6388591B1 (en) Apparatus and method for receiving data serially for use with an advanced technology attachment packet interface (atapi)
US6388590B1 (en) Apparatus and method for transmitting data serially for use with an advanced technology attachment packet interface (atapi)
JP5226758B2 (en) System and method for performing cyclic redundancy check
US7900057B2 (en) Cryptographic serial ATA apparatus and method
US8903000B2 (en) Transmission circuit, reception circuit, transmission method, reception method, communication system and communication method therefor
JP5252292B2 (en) Interface device and electronic device
US8370716B2 (en) USB device and correction method thereof
KR20180073578A (en) Alternate pseudo-random binary sequence seeds for MIPI CSI-2 C-PHY
JP5092109B2 (en) Serial bus device and differential clock compensation method thereof
US9569390B2 (en) Protocol for communication
JP4400650B2 (en) Data transfer control device and electronic device
CN108780430B (en) Sending Universal Serial Bus (USB) data over an alternate mode connection
JP2018508846A (en) Transmitting device, DP source device, receiving device and DP sink device
JP2007233993A (en) Data transfer control device and electronic apparatus
JP2008204051A (en) Data transfer control device and electronic device
US8031626B2 (en) Packet structure for a mobile display digital interface
JP2007233998A (en) Data transfer control device and electronic apparatus
JP2008015856A (en) Data transfer control device and electronic equipment
JP2014057269A (en) Semiconductor device
CA2567219C (en) Cryptographic serial ata apparatus and method
Anderson Introduction to USB 3.0
US20240118983A1 (en) Method for facilitating testing for an interconnection protocol, a controller, and an electronic device
JP2008017250A (en) Data transfer controller and electronic device
CN114730297A (en) Data transmission unit, data reception unit, data transmission method, and data reception method
JP2008293154A (en) Data transfer control device and electronic device