Electronic communication devices and disk devices
By introducing a controller and SP_PS state machine into the electronic communication device, the upper limit of error correction for packet data is dynamically adjusted, which solves the communication reliability problem caused by the synchronization deviation of packet data boundaries and improves communication efficiency and reliability.
Patent Information
- Application Number
- CN202110030240.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-09-07
- Filing Date
- 2021-01-11
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2041-01-11
AI Technical Summary
In serial data communication of electronic communication devices, the boundary synchronization deviation of packet data causes the error correction processing of erroneous data to fail, affecting the reliability of communication.
By introducing a controller into the electronic communication device, the upper limit of the error correction capability of the bit data that generates errors in the packet data is changed, and the effective threshold is dynamically adjusted using the SP_PS state machine under different communication states to ensure the synchronization of the packet data boundary.
It improves the communication reliability of electronic communication devices, shortens the time for resynchronization of packet data boundaries, and reduces the probability of error correction.
Smart Images

Figure CN114155886B_ABST
Abstract
Description
[0001] This application claims priority based on Japanese Patent Application No. 2020-149960 (filing date: September 7, 2020), and the present application incorporates the entire contents of the basic application by reference. Technical Field
[0002] Embodiments of the present invention relate to an electronic communication device and a magnetic disk device. Background Art
[0003] In serial data communication (hereinafter sometimes referred to as serial communication) with other electronic communication devices, an electronic communication device needs to receive data in a manner that is synchronized with the timing of data transmission from other electronic communication devices. In communications that are not retransmission methods, the electronic communication device can use error correction codes attached by other electronic communication devices to correct erroneous data. In serial communication with other electronic communication devices, the electronic communication device may sometimes deviate from the synchronization of the boundaries of packet data due to poor synchronization, etc. In the case where the synchronization of the boundaries of packet data is deviated, errors will continue to occur in the packet data transmitted from other electronic communication devices until the boundaries of packet data are reestablished or reset. In such a case, the electronic communication device may perform erroneous error correction and treat the packet data as being synchronized even though the synchronization of the boundaries of packet data is actually deviated. Summary of the invention
[0004] Embodiments of the present invention provide an electronic communication device and a magnetic disk device capable of improving reliability.
[0005] The electronic communication device of the present embodiment includes a controller that changes an upper limit value of error correctability of bit data in which an error has occurred in packet data transmitted by serial communication. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Figure 1 This is a block diagram showing a configuration example of a communication system according to an embodiment.
[0007] Figure 2 This is a block diagram showing the configuration of a magnetic disk device according to an embodiment.
[0008] Figure 3 This is a block diagram showing a configuration example of HDC.
[0009] Figure 4 It is a schematic diagram showing a configuration example of a determination unit according to an embodiment.
[0010] Figure 5 It is a schematic diagram showing a configuration example of the SP_PS state machine.
[0011] Figure 6It is a schematic diagram showing a configuration example of the SP_PS state machine according to the embodiment.
[0012] Figure 7 This is a flowchart showing an example of a serial communication method according to an embodiment. DETAILED DESCRIPTION
[0013] Hereinafter, the embodiments will be described with reference to the drawings. Note that the drawings are merely examples and do not limit the scope of the invention.
[0014] (Implementation Method)
[0015] Figure 1 This is a block diagram showing a configuration example of the communication system SYS according to the embodiment.
[0016] The communication system SYS includes an electronic communication device (receiving device) 1 and an electronic communication device (transmitting device) 100. The receiving device 1 and the transmitting device 100 perform serial data communication (hereinafter, sometimes referred to as serial communication) via a transmission path 200. The transmission path 200 is a wired or wireless network. The transmission path 200 is, for example, a wiring that electrically connects the transmitting device (host) 100 and the HDC 60. The transmission path 200 can apply standards such as Serial Attached SCSI (SAS) (registered trademark), Serial Advanced Technology Attachment (SATA) (registered trademark), and Universal Serial Bus (USB) (registered trademark). The transmission path 200 applies, for example, the SAS Protocol Layer-4 (SPL-4) standard. When data communication is performed at a communication rate of 22.5G called Gen5 under SPL-4, for example, an error correction code called FEC (Forward Error Correction) can be used. Under FEC, error correction (hereinafter sometimes referred to as error correction) up to 2 Symbols can be performed. The transmitting device 100 transmits serial data to the receiving device 1 via the transmission path 200. The transmitting device 100 is, for example, a host system 100. The receiving device 1 receives the serial data transmitted from the transmitting device 100 via the transmission path 200. The receiving device 1 is, for example, a recording device 1. The recording device 1 includes a disk device (Hard Disk Drive: HDD) 1 and a memory device (Solid State Drive: SSD) 1. In the following, the receiving device 1 is described as the disk device 1.
[0017] Figure 2 It is a block diagram showing the structure of the magnetic disk device 1 according to the embodiment.
[0018] The magnetic disk device 1 includes a head disk assembly (HDA) described later, a driver IC 20, a head amplifier integrated circuit (hereinafter, head amplifier IC or preamplifier) 30, a volatile memory 70, a nonvolatile memory 80, a buffer memory (cache) 90, and a system controller 130 which is an integrated circuit of a chip. In addition, the magnetic disk device 1 is connected to a transmission device (host system (host)) 100.
[0019] The HDA includes a magnetic disk (hereinafter, disk) 10, a spindle motor (SPM) 12, an arm 13 equipped with a head 15, and a voice coil motor (VCM) 14. The disk 10 is rotated by the spindle motor 12. The arm 13 and the VCM 14 constitute an actuator. The actuator controls the movement of the head 15 mounted on the arm 13 to a target position of the disk 10 by the drive of the VCM 14. The number of the disk 10 and the head 15 may be more than two.
[0020] The disc 10 has a recording area divided into a recording area 10a that can be used by a user and a system area 10b where information necessary for system management is written.
[0021] The head 15 has a slider as a main body, and includes a write head 15W and a read head 15R mounted on the slider. The write head 15W writes data to the disk 10. The read head 15R reads data recorded on the data track of the disk 10. The head 15 writes data to the disk 10 in blocks containing at least one sector, and reads data in blocks. Here, a sector is the smallest unit of data written to or read from the disk 10.
[0022] The driver IC 20 controls the driving of the SPM 12 and the VCM 14 in accordance with the control of the system controller 130 (more specifically, the MPU 40 described later).
[0023] The head amplifier IC 30 includes a read amplifier and a write driver. The read amplifier amplifies the read signal read from the disk 10 and outputs it to the system controller 130 (more specifically, the read / write (R / W) channel 50 described later). The write driver outputs a write current corresponding to the write data output from the R / W channel 50 to the head 15.
[0024] The volatile memory 70 is a semiconductor memory that loses the stored data when the power supply is cut off. The volatile memory 70 stores data required for processing in various parts of the magnetic disk device 1. The volatile memory 70 is, for example, a DRAM (Dynamic Random Access Memory) or an SDRAM (Synchronous Dynamic Random Access Memory).
[0025] The nonvolatile memory 80 is a semiconductor memory that records stored data even when power supply is cut off. The nonvolatile memory 80 is, for example, a NOR-type or NAND-type flash ROM (Flash Read Only Memory: FROM).
[0026] The buffer memory 90 is a semiconductor memory that temporarily records data and the like transmitted and received between the magnetic disk device 1 and the transmission device (host) 100. In addition, the buffer memory 90 may be formed integrally with the volatile memory 70. The buffer memory 90 is, for example, a DRAM, an SRAM (Static Random Access Memory), an SDRAM, a FeRAM (Ferroelectric Random Access Memory), or an MRAM (Magnetoresistive Random Access Memory).
[0027] The system controller (controller) 130 is implemented, for example, using a large-scale integrated circuit (LSI) called System-on-a-Chip (SoC) in which a plurality of components are integrated into a single chip. The system controller 130 includes a microprocessor (MPU) 40, a read / write (R / W) channel 50, and a hard disk controller (HDC) 60. The system controller 130 is connected to the driver IC 20, the head amplifier IC 30, the volatile memory 70, the nonvolatile memory 80, the buffer memory 90, and the host system 100.
[0028] The MPU 40 is a main controller that controls various parts of the magnetic disk device 1. The MPU 40 performs servo control for positioning the head 15 by controlling the VCM 14 via the driver IC 20. In addition, the MPU 40 controls the writing of data to the disk 10 and selects the storage destination of the write data transmitted from the transmission device (host) 100. The MPU 40 performs processing based on firmware. The MPU 40 is connected to various parts of the magnetic disk device 1. The MPU 40 is connected to the R / W channel 50 and the HDC 60.
[0029] The R / W channel 50 performs signal processing of read data and write data according to instructions from the MPU 40. Hereinafter, the read data and write data are sometimes referred to as data. The R / W channel 50 has a circuit or function for measuring the signal quality of the read data. The R / W channel 50 is connected to the head amplifier IC 30, the MPU 40, and the HDC 60.
[0030] The HDC 60 controls data transmission between the transmission device (host) 100 and the R / W channel 50 according to instructions from the MPU 40. For example, the HDC 60 temporarily stores the user data transmitted from the transmission device (host) 100 in the buffer memory 90 and outputs it to the R / W channel 50. In addition, the HDC 60 temporarily stores the read data read from the disk 10 in the buffer memory 90 and outputs it to the transmission device (host) 100. The HDC 60 is connected to the MPU 40, the R / W channel 50, the volatile memory 70, the non-volatile memory 80, the buffer memory 90, and the transmission device (host) 100.
[0031] Figure 3 : is a block diagram showing a configuration example of the HDC 60 .
[0032] The HDC 60 includes a communication unit 601, a log unit 602, an error correction unit 603, and a determination unit 604. The HDC 60 may include each unit such as the communication unit 601, the log unit 602, the error correction unit 603, and the determination unit 604 as a circuit. In addition, the HDC 60 may execute the processing of each unit such as the communication unit 601, the log unit 602, the error correction unit 603, and the determination unit 604 on firmware.
[0033] The communication unit 601 controls the transmission of data based on the serial communication with the transmitting device (host) 100. For example, the communication unit 601 transmits and receives data with the transmitting device (host) 100 using serial communication that is not a retransmission method. The communication unit 601 controls the transmission and reception of data (hereinafter, sometimes referred to as packet data) PD in units of packets (or frames) with the transmitting device (host) 100 via the transmission path 200. The packet data PD includes a predetermined number (or capacity) of data DTG, such as the number of bits, and an error correction code EC. In addition, the error correction code EC may be transmitted from the transmitting device (host) 100 to the HDC60 whenever a predetermined number (hereinafter, sometimes referred to as the number of packets) of packet data PD is transmitted as packet data different from the packet data PD equivalent to user data, etc. The packet data PD may also include data indicating the boundary of the packet data (hereinafter, sometimes referred to as boundary data). Boundary data may be transmitted from the transmission device (host) 100 to the HDC 60 each time a predetermined number of packet data are transmitted as packet data different from packet data PD corresponding to user data and packet data corresponding to error correction code EC. The error correction code EC includes, for example, a forward error correction code (Forward Error Correction: FEC).
[0034] The recording unit 602 records (or records) error data, such as the position (or number) of data in bits (Bit) where errors occur (hereinafter, sometimes referred to as bit data), the number of error data, such as the number of bits, and information about the contents of the error (hereinafter, sometimes referred to as error information), in a predetermined recording area (hereinafter, sometimes referred to as a recording area) LA. For example, the recording unit 602 records the position (or number) of error data in the predetermined packet data PD, the number of error data in the predetermined packet data PD, such as the number of bits, and error information in the predetermined packet data PD in the recording area LA. In addition, "recording" includes "recording predetermined data", etc. "Recording" may also include "counting up the number of error data, such as the number of bits, in the predetermined packet data PD", etc. In the following, "recording predetermined data in the recording area LA" is sometimes referred to as "recording" or "recording processing". Figure 3 In the example shown, the recording area LA is included in the buffer memory 90. Alternatively, the recording area LA may be included in the volatile memory 70, the nonvolatile memory 80, the recording unit 602, or the like.
[0035] The error correction unit 603 performs error correction (error correction) processing. The error correction unit 603 can perform error correction of error data below a predetermined number or capacity (hereinafter, sometimes referred to as an effective threshold) of each packet data PD based on each error correction code EC corresponding to each packet data PD. For example, when the boundary of the packet data PD transmitted from the transmission device (host) 100 deviates due to poor synchronization, the error correction unit 603 may erroneously correct the packet data PD whose boundary has deviated. The effective threshold corresponds to, for example, the upper limit value (or maximum number) of error data that can be corrected by the error correction unit 603. The effective threshold can be set to, for example, the upper limit value of error data that can be corrected based on the error correction code EC as an initial value. In addition, the effective threshold can be either below the initial value or smaller than the initial value. The effective threshold can be either above the initial value or larger than the initial value. For example, the effective threshold can be set to 2Symbol as an initial value in FEC when data communication is performed at a communication rate of 22.5G called Gen5 under PL-4. The effective threshold may be less than or equal to 2Symbol, or less than or equal to 2Symbol. In addition, the effective threshold may be greater than or equal to 2Symbol, or greater than or equal to 2Symbol.
[0036] The determination unit 604 establishes (sets or determines) the boundary of the packet data PD transmitted from the transmission device (host) 100 to the HDC 60. The determination unit 604 synchronizes the boundary of the packet data PD or obtains synchronization of the boundary of the packet data PD. In addition, the determination unit 604 may also establish (set or determine) the boundary of the packet data PD transmitted from the transmission device (host) 100 based on the boundary data.
[0037] The determination unit 604 detects error data, for example, bit data in which an error occurs, for each packet data PD transmitted from the transmission device (host) 100 , and counts the error data for each packet data PD.
[0038] The determination unit 604 determines, for each packet data PD, whether it is packet data PD having no error data or containing some error data (hereinafter, sometimes referred to as valid packet data), or packet data PD containing error data that cannot be corrected (hereinafter, sometimes referred to as invalid packet data). For example, the determination unit 604 determines whether it is valid packet data or invalid packet data based on the number of error data, such as the number of bits, of each packet data PD.
[0039] In one example, when there is no error data in the predetermined packet data PD or error data equal to or less than a validity threshold is detected in the predetermined packet data PD, the determination unit 604 determines that the packet data PD is valid packet data PD.
[0040] In one example, when the determination unit 604 detects error data that is greater than a validity threshold in predetermined packet data PD, it determines that the packet data PD is invalid packet data PD.
[0041] When valid packet data continues, the determination unit 604 can determine that the boundaries of the packet data PD transmitted from the transmission device (host) 100 are synchronized and that there is no deviation in the boundaries of the packet data PD. For example, when the determination unit 604 determines that a plurality of consecutive packet data PD are valid packet data, it determines that there is no deviation in the boundaries of the packet data PD transmitted from the transmission device (host) 100. When invalid packet data continues, the determination unit 604 can determine that there is a deviation in the boundaries of the packet data PD transmitted from the transmission device (host) 100 due to poor synchronization or the like. For example, when the determination unit 604 determines that a plurality of consecutive packet data PD are invalid packet data, it determines that there is a deviation in the boundaries of the packet data PD transmitted from the transmission device (host) 100.
[0042] When determining that there is no deviation in the boundary of the packet data PD, that is, when the boundary synchronization of the packet data PD is successful (synchronization of the boundary of the packet data PD is performed), the determination unit 604 sets the boundary of the packet data PD, for example, changes to a state of performing communication with the sending device (host) 100.
[0043] When the determination unit 604 determines that a deviation has occurred in the boundary of the packet data PD, that is, when the synchronization of the boundary of the packet data PD has failed, the state is changed to synchronize the boundary of the packet data PD (synchronize the boundary of the packet data PD). In other words, when the determination unit 604 determines that a deviation has occurred in the boundary of the packet data PD, the communication is temporarily stopped and the boundary of the packet data PD is synchronized again (reestablished or reset).
[0044] For example, when error correction is performed on packet data PD that is out of synchronization with a boundary, that is, invalid packet data PD, the determination unit 604 may determine that the invalid packet data PD that has been error-corrected is valid packet data PD, and determine that the boundary of the packet data PD is synchronized, thereby changing to a state of communication with the transmission device (host) 100. In the case where the invalid packet data PD that has been error-corrected is mistakenly determined to be valid packet data PD, it may take a long time for the determination unit 604 to change to a state in which the boundary of the invalid packet data PD that has been error-corrected is synchronized again (reestablished or reset).
[0045] The determination unit 604 includes, for example, a physical layer SPL packet synchronization (SP_PS) state machine. The determination unit 604 can manually perform synchronization of the boundary of the packet data PD using the SP_PS state machine in SPL-4 used in the HDD I / F. The SP_PS state machine has states such as SP_PS0: AcquireSync, SP_PS1: Valid1, SP_PS2: SyncAcquired, SP_PS3: Lost1, SP_PS4: LostRecovered, SP_PS5: Lost2, and SP_PS6: Lost3. For example, when the SP_PS state machine is in the SP_PS1:Valid1 state, if it receives valid packet data, invalid packet data, invalid packet data, valid packet data, invalid packet data, valid packet data, and valid packet data in sequence, it can transition in the order of SP_PS2:SyncAcquired, SP_PS3:Lost1, SP_PS5:Lost2, SP_PS4:LostRecovered, SP_PS3:Lost1, PS4:LostRecovered, and SP_PS2:SyncAcquired.
[0046] The determination unit 604 determines whether the communication quality is normal or abnormal. The determination unit 604 determines whether the communication quality is normal or abnormal based on the number of error data in each packet data PD. For example, when the determination unit 604 determines that the number of error data in the predetermined packet data PD is less than the effective threshold, that is, when the predetermined packet data PD is determined to be effective packet data PD, it can be determined that the communication quality of the packet data PD is normal. When the determination unit 604 determines that the number of error data in the predetermined packet data PD is greater than the effective threshold, that is, when the predetermined packet data PD is determined to be invalid packet data PD, it can be determined that the communication quality of the packet data PD is abnormal.
[0047] The determination unit 604 sets or changes the effective threshold. The determination unit 604 arbitrarily changes the effective threshold according to the communication state with the transmission device (host) 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD. The determination unit 604 reduces the effective threshold in order to shorten the time to transition to a state where the boundary of the packet data PD is synchronized again (reestablished or reset) according to the communication state with the transmission device (host) 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD. For example, the determination unit 604 reduces the effective threshold value from the initial value according to the communication state with the transmission device (host) 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD. The determination unit 604 makes the effective threshold value smaller than the initial value according to the communication state with the transmission device (host) 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD, so as to shorten the time to transition to a state where the boundary of the packet data PD is synchronized again (reestablished or reset). For example, the determination unit 604 makes the effective threshold value less than the initial value according to the communication state with the transmission device (host) 100, the signal state of the packet data PD, or the establishment state of synchronization of the boundary of the packet data PD. In addition, the determination unit 604 may make the effective threshold value larger than the initial value according to the communication state with the transmission device 100, the signal state of the packet data PD, or the establishment state of synchronization of the boundary of the packet data PD.
[0048] For example, the determination unit 604 changes the effective threshold value in each state of the SP_PS state machine according to the communication state with the transmission device 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD. In addition, for example, the determination unit 604 changes the effective threshold value in the state of a part of the SP_PS state machine according to the communication state with the transmission device 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD.
[0049] The determination unit 604 may reduce the effective threshold value in each state of the SP_PS state machine or in a state of a part of the SP_PS state machine, depending on the communication state with the transmission device 100, the signal state of the packet data PD, or the state of synchronization establishment of the packet data PD boundary. The determination unit 604 may reduce the effective threshold value in each state of the SP_PS state machine or in a state of a part of the SP_PS state machine, depending on the communication state with the transmission device 100, the signal state of the packet data PD, or the state of synchronization establishment of the packet data PD boundary. The determination unit 604 may reduce the effective threshold value in each state of the SP_PS state machine or in a state of a part of the SP_PS state machine, depending on the communication state with the transmission device 100, the signal state of the packet data PD, or the state of synchronization establishment of the packet data PD boundary. The determination unit 604 may reduce the effective threshold value in each state of the SP_PS state machine or in a state of a part of the SP_PS state machine, depending on the communication state with the transmission device 100, the signal state of the packet data PD, or the state of synchronization establishment of the packet data PD boundary. The determination unit 604 may make the effective threshold value lower than the initial value in each state of the SP_PS state machine or in the state of a part of the SP_PS state machine, depending on the communication state with the sending device 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD.
[0050] When the signal state of the packet data PD (the communication state with the transmission device 100 or the established state of the synchronization of the boundary of the packet data PD) is not good, for example, the synchronization of the boundary of the packet data PD cannot be obtained and the communication with the transmission device (host) 100 is not performed, and the state of resynchronizing the boundary of the packet data PD is not changed, the determination unit 604 makes the effective threshold value smaller in each state of the SP_PS state machine. For example, when the synchronization of the boundary of the packet data PD cannot be obtained and the communication with the transmission device (host) 100 is not performed, and the state of resynchronizing the boundary of the packet data PD is not changed, the determination unit 604 makes the effective threshold value smaller than the initial value in each state of the SP_PS state machine.
[0051] When the signal state of the packet data PD (the communication state with the transmission device 100 or the established state of the synchronization of the boundary of the packet data PD) is not good, for example, when the synchronization of the boundary of the packet data PD cannot be achieved and the communication with the transmission device (host) 100 is not performed, the determination unit 604 makes the effective threshold value smaller in each state of the SP_PS state machine. When the synchronization of the boundary of the packet data PD cannot be achieved and the communication with the transmission device (host) 100 is not performed, the determination unit 604 makes the effective threshold value smaller than the initial value in each state of the SP_PS state machine.
[0052] When the signal state of the packet data PD (the communication state with the transmission device 100 or the established state of the synchronization of the boundary of the packet data PD) is not good, for example, when the state has not been changed to the state where the boundary of the packet data PD is synchronized again, the determination unit 604 makes the effective threshold value smaller in each state of the SP_PS state machine. When the state has not been changed to the state where the boundary of the packet data PD is synchronized again, the determination unit 604 makes the effective threshold value smaller than the initial value in each state of the SP_PS state machine.
[0053] Furthermore, the determination unit 604 may increase the effective threshold value in each state of the SP_PS state machine or in a state of part of the SP_PS state machine, depending on the communication state with the transmission device 100, the signal state of the packet data PD, or the state of establishment of synchronization at the boundary of the packet data PD. Furthermore, the determination unit 604 may increase the effective threshold value in each state of the SP_PS state machine or in a state of part of the SP_PS state machine, depending on the communication state with the transmission device 100, the signal state of the packet data PD, or the state of establishment of synchronization at the boundary of the packet data PD. When the signal state of the packet data PD (the communication state with the transmission device 100 or the state of establishment of synchronization at the boundary of the packet data PD) is good, the determination unit 604 may increase the effective threshold value in each state of the SP_PS state machine or in a state of part of the SP_PS state machine. When the signal state of packet data PD (the communication state with transmission device 100 or the established state of synchronization of the boundary of packet data PD) is good, determination unit 604 may make the effective threshold value larger than the initial value in each state of the SP_PS state machine, or may make it larger than the effective threshold value in a state of a part of the SP_PS state machine. When the signal state of packet data PD (the communication state with transmission device 100 or the established state of synchronization of the boundary of packet data PD) is good, determination unit 604 may maintain (not change) the effective threshold value in each state of the SP_PS state machine, or may maintain (not change) the effective threshold value in a state of a part of the SP_PS state machine.
[0054] Figure 4 It is a schematic diagram showing a configuration example of the determination unit 604 according to this embodiment.
[0055] exist Figure 4In the example shown, when packet data PD is input, the determination unit 604 detects error data in the packet data PD and outputs the number of error data detected. When packet data PD is input, the determination unit 604 detects error data in the packet data PD and outputs the number of error data detected in each state of the SP_PS state machine. When the number of error data is less than the valid threshold, the determination unit 604 determines that the packet data PD is valid packet data PD that has achieved synchronization of the boundary. When the number of error data is less than the valid threshold in each state of the SP_PS state machine, the determination unit 604 determines that the packet data PD is valid packet data PD that has achieved synchronization of the boundary. When the number of error data is greater than the valid threshold, the determination unit 604 determines that the packet data PD is invalid packet data PD that has not achieved synchronization of the boundary. When the number of error data is greater than the valid threshold in each state of the SP_PS state machine, the determination unit 604 determines that the packet data PD is invalid packet data PD that has not achieved synchronization of the boundary.
[0056] Figure 5 is a schematic diagram showing an example of the configuration of the SP_PS state machine STM. Figure 5 In FIG. 3 , the SP_PS state machine STM has a state (SP_PS0 AcquireSync) 300, a state (SP_PS1 Valid1) 301, a state (SP_PS2 SyncAcquired) 302, a state (SP_PS3 Lost1) 303, a state (SP_PS4 LostRecovered) 304, a state (SP_PS5 Lost2) 305, and a state (SP_PS6 Lost3) 306. Figure 5 In the SP_PS state machine STM, the effective threshold value TH=2 (Symbol) is set as the initial value in each state. Figure 5 In the SP_PS state machine STM, in each state, for example, states 301 to 306, it is possible to correct erroneous data up to 2 (Symbol). Figure 5 In FIG. 1 , the dotted line shows the direction in which the SP_PS state machine STM transitions when judging the packet data PD to be valid, and the solid line shows the direction in which the SP_PS state machine STM transitions when judging the packet data PD to be invalid.
[0057] exist Figure 5In the example shown, when the SP_PS state machine STM determines that the packet data PD is valid and has achieved synchronization of the boundary of the packet data PD so as to perform communication with the sending device (host) 100, it is in the state (SP_PS2: SyncAcquired) 302 in which synchronization of the boundary of the packet data PD is achieved and communication with the sending device (host) 100 is performed.
[0058] When the SP_PS state machine STM determines that the packet data PD is invalid and the synchronization of the boundary of the packet data PD cannot be obtained in the state 302, it changes to the state (SP_PS3: Lost1) in which the synchronization of the packet data PD cannot be obtained. When the SP_PS state machine STM determines that the packet data PD is invalid and the synchronization of the boundary of the packet data PD cannot be obtained four times in a row, it changes to the state (SP_PS0: AcquireSync) 300 for resynchronizing (reestablishing or resetting) the boundary of the packet data PD. For example, when the SP_PS state machine STM determines that the packet data PD is invalid and the synchronization of the boundary of the packet data PD cannot be obtained four times in a row in the state 302, it changes to the state (SP_PS3: Lost1) 303 in which the synchronization of the packet data PD cannot be obtained, the state (SP_PS5: Lost2) 305 and the state (SP_PS6: Lost3) 306 in which the synchronization of the packet data PD cannot be obtained in the order described below, and then changes to the state 300. When the SP_PS state machine STM determines that the packet data PD is invalid and the synchronization of the boundary of the packet data PD cannot be obtained in state 303, it changes to state 305. When the SP_PS state machine STM determines that the packet data PD is invalid and the synchronization of the boundary of the packet data PD cannot be obtained in state 305 due to poor signal quality, it changes to state 306.
[0059] When the SP_PS state machine STM performs erroneous error correction in state 305 and erroneously determines that the synchronization of the boundary of the invalid packet data PD has been obtained, it changes to state (SP_PS4: LostRecovered) 304. After making an erroneous determination and changing to state 304, when the SP_PS state machine STM determines that the synchronization of the boundary of the packet data PD has been obtained in state 304, it changes to state 302. When the SP_PS state machine STM makes an erroneous determination and changes to state 304 and state 302, it takes time until it determines that the packet data PD is invalid and fails to synchronize the packet data PD, and changes to states 303, 305, and 306 to change to state 300 for resynchronizing (reestablishing or resetting) the boundary of the packet data PD. In FEC adopted in SPL of SAS protocol, if bit deviation or the like occurs and the input bit sequence becomes a data pattern different from the boundary of packet data PD, there is a possibility that erroneous correction may occur with a probability of about 40%, so as mentioned above, it may take time to change to the state 300 in which the boundary of packet data PD is synchronized again (reestablished or reset). Therefore, by making the effective threshold smaller and making it easier to determine that the synchronization of the boundary of packet data PD has not been achieved, the time until the state 300 in which the boundary of packet data PD is synchronized again (reestablished or reset) can be shortened. In addition, by making the effective threshold smaller and making it easier to determine that the synchronization of the boundary of packet data PD has not been achieved, the probability of erroneous correction can also be reduced.
[0060] Figure 6 It is a schematic diagram showing a configuration example of the SP_PS state machine STM according to the present embodiment. Figure 6 Corresponds to Figure 5 part of. Figure 6 In the SP_PS state machine STM, in each state, the effective threshold value TH=2 (Symbol) is set as the initial value.
[0061] exist Figure 6In the example shown, the SP_PS state machine STM changes the effective threshold TH from 2Symbol to 0Symbol in state 303 according to the communication state with the transmission device (host) 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD. For example, when the signal state of the packet data PD (the communication state with the transmission device (host) 100, or the established state of synchronization of the boundary of the packet data PD) is not good, the SP_PS state machine STM changes the effective threshold TH from 2Symbol to 0Symbol in state 303. When the effective threshold TH is changed from 2Symbol to 0Symbol in state 303, when the number of error data in the packet data PD is 2Symbol, the state machine STM determines that the packet data PD is invalid and the synchronization of the boundary of the packet data PD cannot be obtained, and changes to state 305.
[0062] The SP_PS state machine STM changes the effective threshold TH from 2Symbol to 1Symbol in state 304, depending on the communication state with the transmission device (host) 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD. For example, when the signal state of the packet data PD (the communication state with the transmission device (host) 100, or the established state of synchronization of the boundary of the packet data PD) is not good, the SP_PS state machine STM changes the effective threshold TH from 2Symbol to 1Symbol in state 304. When the effective threshold TH is changed from 2Symbol to 1Symbol in state 304, when the number of error data in the packet data PD is 2Symbol, the state machine STM determines that the packet data PD is invalid and the synchronization of the boundary of the packet data PD cannot be obtained, and changes to state 303.
[0063] The SP_PS state machine STM changes the effective threshold TH from 2Symbol to 0Symbol in state 305 according to the communication state with the transmission device (host) 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD. For example, when the signal state of the packet data PD (the communication state with the transmission device (host) 100, or the established state of synchronization of the boundary of the packet data PD) is not good, the SP_PS state machine STM changes the effective threshold TH from 2Symbol to 0Symbol in state 305. When the effective threshold TH is changed from 2Symbol to 0Symbol in state 305, when the number of error data in the packet data PD is 2Symbol, the state machine STM determines that the packet data PD is invalid and the synchronization of the boundary of the packet data PD cannot be obtained, and changes to state 306.
[0064] The SP_PS state machine STM changes the effective threshold TH from 2Symbol to 0Symbol in state 306 according to the communication state with the transmission device (host) 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD. For example, when the signal state of the packet data PD (the communication state with the transmission device (host) 100, or the established state of synchronization of the boundary of the packet data PD) is not good, the SP_PS state machine STM changes the effective threshold TH from 2Symbol to 0Symbol in state 306. When the effective threshold TH is changed from 2Symbol to 0Symbol in state 306, when the number of error data in the packet data PD is 2Symbol, the state machine STM determines that the packet data PD is invalid and the synchronization of the boundary of the packet data PD cannot be obtained, and in order to synchronize the boundary of the packet data PD again, the state changes to the state (SyncLost: SP_ReSync), and then changes to the state (SP_PS0: AcquireSync) state 300.
[0065] Figure 7 This is a flowchart showing an example of the serial communication method according to the present embodiment.
[0066] The system controller 130 determines whether the signal state of the packet data PD (the communication state with the transmission device (host) 100, or the state of synchronization of the boundary of the packet data PD) is bad or good (B701). When it is determined that the signal state of the packet data PD (the communication state with the transmission device (host) 100, or the state of synchronization of the boundary of the packet data PD) is good (B701: No), the system controller 130 ends the processing. For example, when it is determined that the communication with the transmission device (host) 100 is being performed, or it does not take time to change to a state in which the boundary of the packet data PD transmitted from the transmission device (host) 100 is synchronized again (reestablished or re-set), the system controller 130 determines that the signal state of the packet data PD (the communication state with the transmission device (host) 100, or the state of synchronization of the boundary of the packet data PD) is good, and ends the processing. When it is determined that the signal state of the packet data PD (the communication state with the transmission device (host) 100 or the state of synchronization of the boundary of the packet data PD) is not good (B701: Yes), the system controller 130 changes the effective threshold value (B702) and ends the processing. For example, when it is determined that the communication with the transmission device (host) 100 is not being performed or it takes time to change to a state in which the boundary of the packet data PD transmitted from the transmission device (host) 100 is synchronized again, the system controller 130 determines that the signal state of the packet data PD (the communication state with the transmission device (host) 100 or the state of synchronization of the boundary of the packet data PD) is not good, makes the effective threshold value smaller than the initial value, and ends the processing.
[0067] According to the present embodiment, the electronic communication device (disk device) 1 has an SP_PS state machine STM. In each state of the SP_PS state machine STM, the electronic communication device 1 changes the effective threshold value according to the communication state with the transmission device (host) 100, the signal state of the packet data PD, or the establishment state of synchronization of the boundary of the packet data PD. In each state, when the electronic communication device 1 determines that the signal state of the packet data PD (the communication state with the transmission device (host) 100, or the establishment state of synchronization of the boundary of the packet data PD) is not good, the effective threshold value is reduced. For example, in each state, when the electronic communication device 1 determines that the signal state of the packet data PD (the communication state with the transmission device (host) 100, or the establishment state of synchronization of the boundary of the packet data PD) is not good, the effective threshold value is reduced than the initial value. The electronic communication device 1 can reduce the time until the boundary of the packet data PD is synchronized again by reducing the effective threshold value according to the communication state with the transmission device (host) 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD. In addition, the electronic communication device 1 can reduce the probability of performing erroneous error correction by reducing the effective threshold value according to the communication state with the transmission device (host) 100, the signal state of the packet data PD, or the established state of synchronization of the boundary of the packet data PD. Therefore, the electronic communication device 1 can improve reliability.
[0068] Several embodiments have been described, but these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other ways, and various omissions, substitutions, and changes can be made without departing from the gist of the invention. These embodiments and their variations are included in the scope and gist of the invention, and are included in the invention described in the claims and their equivalents.
[0069] An example of a magnetic disk device and an information management method that can be obtained from the configuration disclosed in this specification is appended below.
[0070] (1) An electronic communication device includes a controller that changes an upper limit value of error correctability of bit data in which an error occurs in packet data transmitted by serial communication.
[0071] (2) In the electronic communication device according to (1), the controller changes the upper limit value according to a signal state of the packet data.
[0072] (3) In the electronic communication device according to (2), the controller reduces the upper limit value when the signal state is not good.
[0073] (4) In the electronic communication device according to (3), the controller reduces the upper limit value when synchronization of the boundary of the packet data cannot be achieved and the state of synchronization of the boundary of the packet data has not been changed.
[0074] (5) In the electronic communication device according to (1), the controller has a state machine that switches to a state in which the boundaries of the packet data are synchronized when the upper limit value is exceeded four consecutive times, and in each state of the state machine, the upper limit value is changed according to the signal state of the packet data.
[0075] (6) According to the electronic communication device described in (5), the controller reduces the upper limit value when the signal state of the packet data is not good in each of the states.
[0076] (7) A magnetic disk device comprising:
[0077] plate;
[0078] a head for writing data to the disk and reading data from the disk; and
[0079] The controller changes an upper limit value of error correction that can be performed on bit data in which an error occurs in packet data transmitted by serial communication.
[0080] (8) In the magnetic disk device according to (7), the controller has a state machine corresponding to SAS Protocol Layer 4, and in each state of the state machine, the upper limit value is changed according to the signal state of the packet data.
[0081] (9) The magnetic disk device according to (8), wherein the controller, in each of the states, makes the upper limit value smaller when the signal state of the packet data is not good.
[0082] (10) A serial communication method, applied to an electronic communication device,
[0083] The upper limit value of the error that can be corrected for bit data in which an error occurs in packet data transmitted by serial communication is changed.
Claims
1. An electronic communication device, A controller is provided for changing an upper limit value of error correction of bit data having errors in packet data transmitted by serial communication, The controller changes the upper limit value according to a signal state of the packet data.
2. The electronic communication device according to claim 1, The controller reduces the upper limit value when the signal state is not good.
3. The electronic communication device according to claim 2, The controller reduces the upper limit value when synchronization of the boundary of the packet data cannot be achieved and the state of synchronization of the boundary of the packet data has not been changed.
4. An electronic communication device, A controller is provided for changing an upper limit value of error correction of bit data having errors in packet data transmitted by serial communication, The controller includes a state machine that transitions to a state in which the boundary of the packet data is synchronized when the upper limit value is exceeded four times in succession, and in each state of the state machine, the upper limit value is changed according to the signal state of the packet data.
5. The electronic communication device according to claim 4, The controller, in each of the states, reduces the upper limit value when the signal state of the packet data is not good.
6. A magnetic disk device comprising: plate; a head for writing data to the disk and reading data from the disk; and The controller changes the upper limit value of the error correction of the bit data with errors in the packet data transmitted by serial communication, The controller has a state machine corresponding to SAS Protocol Layer 4, and in each state of the state machine, the upper limit value is changed according to the signal state of the packet data.
7. The magnetic disk device according to claim 6, The controller, in each of the states, reduces the upper limit value when the signal state of the packet data is not good.
Citation Information
Patent Citations
Infrared radiation heat source device using electric heating thin wire coil
JP2020149960A
Method for detecting contact between magnetic head and magnetic disk, and magnetic disk device to which the method is applied
JP2008186564A
Method and apparatus for controlling error correction code in data communication system
WO2013145652A1