US20010016884A1 - Data storage unit with cyclic error detection and avoidance - Google Patents
- ️Thu Aug 23 2001
US20010016884A1 - Data storage unit with cyclic error detection and avoidance - Google Patents
Data storage unit with cyclic error detection and avoidance Download PDFInfo
-
Publication number
- US20010016884A1 US20010016884A1 US09/784,538 US78453801A US2001016884A1 US 20010016884 A1 US20010016884 A1 US 20010016884A1 US 78453801 A US78453801 A US 78453801A US 2001016884 A1 US2001016884 A1 US 2001016884A1 Authority
- US
- United States Prior art keywords
- data transfer
- data
- transfer rate
- rate
- error Prior art date
- 1997-07-24 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Definitions
- the present invention relates to a data transfer unit, a disk unit, and a data transfer method which are employed in hard disk drives (HDDs), and more particularly to a data transfer unit, a disk unit, and a data transfer method equipped with a data transfer function.
- HDDs hard disk drives
- Ultra ATA is an interface standard for enhanced integrated device electronics (EIDE) that has been standardized as the next version of the Fast ATA-3 version to realize fast transfer rate.
- EIDE enhanced integrated device electronics
- the Ultra ATA supports an ultra direct memory access (DMA)/33 transfer protocol and the maximum data transfer rate is 33M bytes/sec.
- DMA direct memory access
- the data transfer by a DMA mode makes it possible to transfer data directly between main memory and peripheral equipment, such as HDDs, without having recourse to intervention of a central processing unit (CPU).
- the present ultra DMA/33 prescribes three modes: transfer mode 0 through mode 2, depending upon transfer rates.
- the data transfer rate of the Ultra DMA transfer mode is double that of the Multi-word DMA transfer mode of the Fast ATA-3, as shown in Table 1.
- TABLE 1 Ultra DMA Transfer Multi-word DMA Transfer Mode 0 16.6 MB/s (120 ns) 8.3 MB/s (240 ns) Mode 1 22.2 MB/s (90 ns) 11.1 MB/s (180 ns) Mode 2 33.3 MB/s (60 ns) 16.6 MB/s (240 ns)
- a data sending side (for example, a hard disk drive during a read operation and a host during a write operation) drives a strobe signal which determines the timing at which data is fetched, thereby controlling data transfer rate at the data sending side.
- the data transfer rate at the hard disk drive is set by a Set Features command (EFh) from the host, and the data transfer rate will be reset if the hard disk drive receives a power-on reset or hard reset signal from the host.
- EFh Set Features command
- a data transfer unit a disk drive, and a data transfer method which are capable of decreasing the cases in an Ultra DMA transfer mode of extreme reductions in the throughput of data caused by the command reissue and a final system stop.
- An example would be a temporary CRC error frequently occurring during the data transfer on Read DMA Commands which can be fixed by only a change on the disk drive side without requiring any changes of the existing mechanism on the host side.
- Another object of the present invention is to provide similar improvements in an Ultra DMA transfer mode for problems caused by command reissue and a final system stop.
- Still another object of the present invention is to provide a solution which is capable of transferring data without errors in an Ultra DMA transfer mode.
- a data transfer unit for transferring data in a direct memory access (DMA) transfer mode between a storage unit and a host, wherein a slower data transfer rate is established when a predetermined error is detected.
- DMA direct memory access
- the cyclicity of the error occurrence calculated and a wait is inserted between data to avoid the calculated cyclicity of the detected error.
- the data transfer unit may return the data transfer rate to the original data transfer rate, state or a default state after a predetermined time has elapsed, after a predetermined number of commands have been received, after a predetermined amount of data have been transferred, or by combination of these.
- the aforementioned DMA transfer mode may also be based upon an Ultra DMA transfer mode.
- a method of transferring data to and from a storage unit and a host comprising the steps of: setting a first data transfer rate; transferring data between the storage unit and the host at the first data transfer rate; detecting an error in the transferred data; setting the data transfer rate to a second data transfer rate slower than the first data transfer rate when a predetermined error is detected; and transferring data at the second transfer rate.
- FIG. 1 is a block diagram showing the constitution of a disk drive according to a first embodiment to which the present invention is applied;
- FIG. 2 is a flowchart showing the data transfer rate control that is performed by the aforementioned disk drive
- FIG. 3 is a flowchart showing the data transfer rate control that is performed at the side of a system which is the host of a disk drive according to a second embodiment to which the present invention is applied;
- FIG. 4 is a timing chart for explaining the operation of a disk drive according to a third embodiment to which the present invention is applied.
- FIG. 5 is a flowchart showing the data transfer control that is executed at the aforementioned HDD side and system side.
- a disk drive according to the present invention can be applied to a small HDD equipped with an integrated device electronics (IDE) interface.
- IDE integrated device electronics
- FIG. 1 is a block diagram showing the constitution of a disk drive according to a first embodiment of the present invention.
- reference numeral 100 denotes a magnetic disk drive (HDD) and 200 a personal computer (PC) as a host.
- the magnetic disk drive (HDD) 100 is connected to the PC 200 , for example, by an IDE interface.
- the magnetic disk drive (HDD) 100 is constituted by a magnetic disk 101 which is a data recording medium, a VCM spindle driver 102 including a spindle motor for driving the magnetic disk 101 to rotate, a magnetic head 103 for performing reading and writing of data on the magnetic disk 101 , an actuator mechanism 104 for moving over the surface of the magnetic disk 101 or to an evacuating position a head slider having the magnetic head 103 , a hard disk controller (HDC) 105 for controlling an operation of reading or writing data from or to the magnetic disk 101 , and a microprocessor unit (MPU) 106 for controlling the entire operation of the HDD 100 , including the control of the HDC 105 .
- HDC hard disk controller
- MPU microprocessor unit
- the HDC 105 is connected to the MPU 106 by a control bus 107 and is connected to an external host of the HDD by an IDE I/F bus 150 .
- the HDC 105 has internal memory which can store all data needed for data transfer, and is capable of performing data transfer in DMA mode in which data is transferred directly to a host without intervention of the MPU 106 .
- the MPU 106 is a microprocessor which executes a control program, and the MPU 106 is equipped with memory which stores the control program and data.
- the MPU 106 operates in accordance with the control program and controls the entire operation of the HDD 100 . Also, based on the command and control data which are supplied from the HDC 105 and a host, the MPU 106 controls the operation of the HDC 105 .
- the PC 200 which becomes the host, has a CPU 201 and also has, for example, an IDE I/F chipset 202 .
- the IDE I/F chipset 202 is made by forming an IDE interface into one chip.
- the PC 200 performs data transfer between it and the HDD 100 in Ultra ATA which is an interface standard for enhanced integrated device electronics (EIDE).
- EIDE enhanced integrated device electronics
- the Ultra ATA standard maintains lower compatibility and supports the data transfer based on the Fast ATA.
- the HDD 100 has the IDE interface, and the MPU 106 is equipped with data transfer means which transfers data at a predetermined data transfer rate from among a plurality of data transfer rates in accordance with a command from the host, error detection means which detects an error in transferred data, and control means which performs control so that data is transferred at a slower data transfer rate than the data transfer rate set according to a command from a host, if a predetermined error is detected by the error detection means.
- the data transfer rate during an Ultra DMA transfer mode can be controlled by a data sending side (for example, an HDD during a read operation and a host during a write operation).
- a data sending side for example, an HDD during a read operation and a host during a write operation.
- the calculated CRC value and the CRC value of the transferred data are compared with each other at the HDD side.
- the HDD sends an error message to the system side.
- the system side resends the HDD the same command at the same transfer rate, and the HDD repeats the same operation again.
- the data transfer rate can be controlled by a data sending side (during a read operation, data is transferred from the HDD to the system (host)), and if a CRC error is detected at the HDD side, then the HDD will slow the data transfer rate of the Read DMA Command thereafter and transfer data at the slower data transfer rate. Since slow data in data transfer rate always has to be accepted according to the protocol, the data can be accepted without performing any other change in the standard system.
- the timing at which data transfer rate is returned to the initial data transfer rate can be:
- the HDD 100 in the Ultra DMA transfer mode when a CRC error occurs during the data transfer of a Read DMA Command (C8h: with retries, C9h: without retries) issued from the host 200 , sends a CRC error message to the host 200 and, at the same time, sets the Ultra DMA transfer mode thereof to a transfer mode slower by one level than the current mode of the HDD 100 internally. At this time, the mode is switched to a CRC error monitor mode.
- a CRC error monitor mode when a CRC error occurs during the data transfer of a Read DMA Command (C8h: with retries, C9h: without retries) issued from the host 200 , sends a CRC error message to the host 200 and, at the same time, sets the Ultra DMA transfer mode thereof to a transfer mode slower by one level than the current mode of the HDD 100 internally. At this time, the mode is switched to a CRC error monitor mode.
- the HDD 100 In the case where a CRC error occurs even in a command reissued from the host 200 , the HDD 100 resets the current mode to a transfer mode further slower by one level. This processing is continued in the interior of the HDD until a CRC error will no longer occur or the current transfer mode reaches the transfer mode 0. In the case where the current Ultra DMA transfer mode is the transfer mode 0 (see Table 1), no mode change is performed.
- the current mode is reset to the initial mode at certain timing, and it is monitored whether or not a CRC error occurs in a Read DMA Command thereafter. If no CRC error occurs, then the CRC error monitor mode is switched to the normal mode. Thereafter, data transfer is performed in the Initial Ultra DMA transfer mode. If a CRC error occurs, then the mode is slowed by one level at a time in is the same way as the aforementioned. The timing at which data transfer rate is returned to the initial data transfer rate can be determined as described above.
- FIG. 2 is a flowchart showing the data transfer rate control that is performed by the HDD 100 .
- This program is executed at a predetermined timing by the MPU 106 .
- reference character ST indicates step in the flow of operation and a part enclosed by an ellipse represents the status of each DMA transfer mode.
- step ST 1 the data transfer mode (Ultra DMA transfer mode) of the HDD 100 is set according to the command set on the host side.
- the data transfer mode shifts to the Ultra DMA transfer mode in step ST 2 and steps thereafter.
- the data transfer mode is set to a Default DMA transfer mode Nd which is default. More specifically, it has been determined that in an initial state, such as a state immediately after power is turned on, the HDD 100 equipped with the Ultra DMA transfer mode is in a Multi-word DMA transfer mode which is the default.
- the HDD 100 responds to the request of the Ultra DMA transfer mode from the host 200 . Then, the host 200 receives the response from the HDD 100 and sends an Ultra DMA transfer command. Next, the HDD 100 receives the command, whereby the data transfer mode of the HDD 100 can shift to the Ultra DMA transfer mode.
- step ST 2 the initialization of the Ultra DMA transfer mode of the HDD 100 is performed (Initial ultra DMA transfer mode Ni).
- the data transfer mode is returned to the Default DMA transfer mode Nd of step ST 13 which is the default.
- step ST 3 it is judged whether or not a CRC error has occurred during data transfer in a read operation. If a CRC error has not occurred during data transfer, then step ST 3 will return to step ST 2 . In step ST 2 , data transfer is continued at the initial data transfer rate.
- step ST 4 a process of slowing a transfer mode by one level at a time is performed in step ST 4 and steps thereafter. More specifically, in step ST 4 it is confirmed what mode the current Ultra DMA transfer mode is (i.e., it is confirmed what mode the Ultra DMA transfer mode Ni is). When the transfer mode Ni is 0 , the data transfer mode is the slowest rate, Mode 0, among the Ultra DMA transfer modes (see Table 1). Therefore, it is judged that the data transfer mode can not be set to a slower transfer mode than this, and step ST 4 returns to step ST 2 .
- step ST 4 advances to step ST 5 .
- step ST 6 the occurrence of a CRC error during data transfer is monitored in the transfer mode slower by one level.
- step ST 7 it is judged whether or not a CRC error has occurred during the data transfer in the retried read operation.
- step ST 7 advances to step ST 10 and steps thereafter, in which a process of returning a data transfer rate to the initial data transfer rate is performed.
- step ST 8 it is confirmed what mode the current Ultra DMA transfer mode N is.
- the mode N is 0, it is judged that the current transfer mode N cannot be set to a transfer mode slower than this, because the current transfer mode is the slowest transfer mode 0 among the Ultra DMA transfer modes, and step ST 8 returns to step ST 7 .
- step ST 8 advances to step ST 9 .
- a data transfer mode is set to a transfer mode which is slower by one level and in which there is less occurrence of an error, and data transfer is retried by reissue of a command.
- a CRC error occurs even in a transfer mode slower by one level, data transfer is retried in a transfer mode even slower by one level. This minimizes the number of CRC errors during data transfer, whereby reliable data transfer can be performed.
- a data transfer mode when a CRC error occurs, a data transfer mode has been slowed by one level at a time so that the number of CRC errors is reduced without lowering the data transfer rate, if possible.
- a data transfer mode may also be set immediately to the slowest mode 0 among the Ultra DMA transfer modes.
- step ST 10 a read operation is performed at that Ultra DMA transfer mode N.
- the data transfer is judged to be in a state where there is no occurrence of a CRC error, and in step ST 11 a process of returning data transfer rate to the original data transfer rate set by the system 200 is performed.
- the timing at which data transfer rate is returned to the initial data transfer rate is determined, for example, by (1) after a certain time has elapsed, (2) after a certain number of commands have been received, (3) after a certain quantity of data has been transferred, or (4) combination of them.
- the data transfer mode is returned to the Default DMA transfer mode Nd of step ST 13 .
- step ST 12 the occurrence of a CRC error during data transfer is monitored in the transfer mode returned to the initial data transfer mode, and step ST 12 returns to the aforementioned step ST 3 .
- step ST 13 the data transfer mode is set to the Default DMA transfer mode Nd which is default.
- the HDD 100 and the host 200 according to the first embodiment are connected with the IDE interface. If even faster Ultra DMA/ 44 and Ultra DMA/ 66 data transfer are performed in future, the advantages of the present invention will be even greater.
- FIG. 1 The entire structure of a disk drive according to a second embodiment of the present invention is similar to FIG. 1 and therefore a description of the hardware structure is omitted.
- the CPU 201 shown in FIG. 1 is constructed so as to execute the data transfer rate control of FIG. 3 to be described later which is similar to that described in FIG. 2.
- the host In the case where a CRC error has occurred even in the reissued command, the host resets the data transfer mode thereof and the data transfer mode of the HDD to a transfer mode further slower by one level and then reissues the same command. This processing is continued until a CRC error will no longer occur or the transfer mode reaches the transfer mode 0.
- the current Ultra DMA transfer mode is a transfer mode 0
- the data transfer mode is reset to the initial transfer mode at certain timing, and it is monitored whether or not a CRC error occurs. If no CRC error occurs, the data transfer thereafter will be performed in the initial transfer mode. If a CRC error occurs, then the transfer mode will be slowed by one level at a time in the same way as the aforementioned.
- the timing at which data transfer rate is returned to the initial data transfer rate can be determined by:
- FIG. 3 is a flowchart showing the data transfer rate control that is performed on the side of a system which is a host. This program is executed at a predetermined timing by the CPU 201 of the PC 200 . In the figure, a part enclosed by an ellipse indicates the state of each DMA transfer mode.
- step ST 21 the data transfer mode (Ultra DMA transfer mode) is set according to the capacity of the HDD 100 .
- the data transfer mode shifts to the Ultra-DMA transfer mode in step ST 22 and steps thereafter.
- the data transfer mode is set to a Default DMA transfer mode Nd which is default. More specifically, it has been determined that in an initial state, such as a state immediately after power is turned on, the HDD 100 equipped with the Ultra DMA transfer mode is in a Multi-word DMA transfer mode which is default.
- the HDD 100 responds to the request of the Ultra DMA transfer mode from the host 200 .
- the host 200 receives the response from the HDD 100 and sends an ultra DMA transfer command.
- the HDD 100 receives the command, whereby the data transfer mode can shift to the Ultra DMA transfer mode.
- the Ultra DMA transfer mode or the Multi-word DMA transfer mode can be arbitrarily set.
- step ST 22 the initialization of the Ultra DMA transfer mode of the host 200 is performed (Initial Ultra DMA transfer mode Ni).
- the data transfer mode is returned to the Default DMA transfer mode Nd of step ST 33 which is default.
- step ST 23 it is judged whether or not a CRC error has occurred during data transfer in a write operation. If a CRC error has not occurred during data transfer, then step ST 23 will return to step ST 22 . In step ST 22 , data transfer is continued at the initialized data transfer rate.
- step ST 24 a process of slowing a transfer mode by one level at a time is performed in step ST 24 and steps thereafter. More specifically, in step ST 24 it is confirmed what mode the current Ultra DMA transfer mode is (i.e., it is confirmed what the Ultra DMA transfer mode Ni is). When the Ni is 0, the data transfer mode is the slowest rate mode 0 among the Ultra DMA transfer modes (see Table 1). Therefore, it is judged that the data transfer mode cannot be set to a transfer mode slower than this, and step ST 24 returns to step ST 22 .
- step ST 24 advances to step ST 25 .
- step ST 26 the occurrence of a CRC error during data transfer is monitored in the transfer mode slower by one level.
- step ST 27 it is judged whether or not a CRC error has occurred during the data transfer which is performed in the retried write operation.
- step ST 27 advances to step ST 30 and steps thereafter, in which a process of returning a data transfer rate to the initial data transfer rate is performed.
- the current Ultra DMA transfer mode N is confirmed in step ST 28 .
- the N is 0, it is judged that the current transfer mode N cannot be set to a transfer mode slower than this, because the current transfer mode is the slowest transfer mode 0 among the Ultra DMA transfer modes, and step ST 28 returns to step ST 27 .
- step ST 28 advances to step ST 29 .
- a data transfer mode will be set to a transfer mode which is slower by one level and in which there is less occurrence of an error, and data transfer will be retried by reissue of a command.
- a CRC error occurs even in a transfer mode slower by one level, data transfer is retried in a transfer mode further slower by one level. This minimizes the occurrence of a CRC error during data transfer, thereby performing reliable data transfer.
- a data transfer mode has been slowed by one level at a time on the occurrence of a CRC error so that the number of CRC errors is reduced without lowering the data transfer rate, if possible.
- a data transfer mode may also be set immediately to the slowest mode 0 among the Ultra DMA transfer modes.
- step ST 30 a write operation is performed at that Ultra DMA transfer mode N.
- the data transfer is judged to be in a state where there is no occurrence of a CRC error, and in step ST 31 a process of returning data transfer rate to the initial data transfer rate is performed.
- the timing at which data transfer rate is returned to the initial data transfer rate is determined, for example, by (1) after a certain time has elapsed, (2) after a certain number of commands have been executed, (3) after a certain quantity of data have been transferred, or (4) combination of them, since a normal mode has been switched to a CRC error monitor mode.
- the data transfer mode is returned to the Default DMA transfer mode Nd of step ST 33 which is default.
- step ST 32 the occurrence of a CRC error during data transfer is monitored in the transfer mode returned to the initial data transfer rate, and step ST 32 returns to the aforementioned step ST 23 .
- step ST 33 when in the initial state immediately after power is turned on, when the Ultra DMA transfer mode is not allowed by the host, or when there is a POR or hard reset signal in each state, in step ST 33 the data transfer mode is set to the Default DMA transfer mode Nd which is default.
- the HDD and the host employ on the host side a method comprising the steps of: setting a first data transfer rate; transferring data between the storage unit (HDD) and the host at a first data transfer rate; detecting an error in the transferred data; setting the data transfer rate to a second data transfer rate slower than the first data transfer rate when a predetermined error is detected in the step of detecting an error; and transferring data between the storage unit and the host at the second transfer rate. Therefore, even during a write operation in which a Write DMA Command is sent from the host to the HDD, the status of the IDE I/F bus can be known by monitoring the status of the existing CRC error.
- FIG. 1 The entire structure of a disk drive according to a third embodiment of the present invention is similar to FIG. 1 and therefore a description of the hardware structure is omitted.
- the MPU 106 and CPU 201 in FIG. 1 are constructed so as to execute the data transfer rate control of FIG. 5 to be described later.
- a conventional DMA controller has a function of performing data transfer and, at the same time, checking data content by a parity. In the case where correct data was not sent, the information is sent to the data sending side, and the data sending side resends data in response to the information. In this case, if a predetermined number of retries are unsuccessful, then an error message will be sent to the sending side.
- the background art merely performs retries if a CRC error occurs. Therefore, in the case where a source of noise generation is present in a system or around a transfer path, the CRC error will frequently occur and a retry will be repeated each time, and consequently, there is the problem that the entire processing rate of the DMA transfer becomes slow.
- the present invention provides a means for performing data transfer without errors.
- a wait is inserted between data to vary a relative transfer rate, thereby escaping from major factors causing noise or an error. That is, in the circumstance where there is much noise, a retry is not merely repeated but if an error is detected, the timing at which data is transferred as the next retry will be varied and data will be transferred at the varied timing. Particularly, for burst noise resulting from a cyclic noise generation source (such as a motor and an oscillator), data transfer is attempted to be performed where the noise was avoided.
- a cyclic noise generation source such as a motor and an oscillator
- a wait will be put between data when data transfer is performed from the system or the HDD. This wait is inserted according to the status of the CRC error occurrence, and for example, the wait spacing is increased at the unit of a clock for each retry. Also, this error condition and the wait spacing with which a CRC error was recovered are stored, and if a CRC error is generated next, then data transfer will be performed at the same wait spacing, based on the stored information. In addition, in the case where a CRC error is successively generated, waits are inserted until the next POR signal.
- the aforementioned wait insertion is controlled by the HDD, and in the case of a write operation, the wait insertion is controlled by the controller within the system.
- FIG. 5 is a flowchart showing the data transfer control that is executed at the HDD side and the system side.
- the data transfer control is executed by the HDD during a read operation and by the system during a write operation, respectively. More specifically, this program is executed at a predetermined timing by the MPU 106 of the HDD 100 and the CPU 201 of the PC 200 of FIG. 1.
- step ST 41 data will be sent for a fixed time (for example, 1 sec), while performing a CRC checking operation for each unit of one sector.
- step ST 42 which sector had an error is judged and the cyclicity of the error occurrence is calculated. For example, it is calculated that an error tends to occur once in 10 sectors.
- step ST 43 a wait bit is put between data bits in such a manner that the cyclicity of the error occurrence is avoided, and then the next data transfer is performed.
- Step ST 43 returns to step ST 42 and the aforementioned processing is repeated until end of data transfer. For example, as shown in FIG. 4, in the case where an error takes place once in 10 sectors due to cyclic burst noise, data is sent in such a manner that each time 10 sectors are sent, one sector is not sent.
- the MPU 106 of the HDD 100 and the CPU 201 of the PC 200 are equipped with error detection means for detecting an error in transferred data, calculation means for calculating cyclicity of the detected error occurrence, and control means for performing control so that data transfer is performed in such a manner that a predetermined wait bit is inserted between data bits to avoid the calculated cyclicity of the detected error occurrence, based on the output of the calculation means. Therefore, for burst noise resulting from a cyclic noise generation source (e.g., motors, oscillators, etc.), data transfer can be performed where that noise was avoided, and consequently, data transfer can be performed without errors.
- a cyclic noise generation source e.g., motors, oscillators, etc.
- the data transfer rate is not slowed on the whole as in the first and second embodiments, but wait bits are inserted so that only points where errors occur are avoided. Therefore, a reduction in the data transfer rate can be minimized although it depends upon the status of the noise occurrence. Particularly, since points where errors occur can be avoided, the total transfer time and data reliability can be even further enhanced. In addition, if this embodiment is employed together with the aforementioned first and second embodiments, synergetic effects can be expected.
- the present invention has been applied to an HDD, it is not limited to this but is also applicable to any other unit if it is equipped with a data transfer function.
- the present invention may also be employed in an external recording other than HDDs, such as a magneto-optical disk data storage, and similar advantages as the aforementioned embodiments can be obtained.
- the first and second embodiments have been applied to the DMA transfer based on the Ultra DMA transfer mode (for example, ATA/ATAPI-4 T13/1153D Revision 9, etc.), the present invention is not limited to the DMA transfer but is also applicable to any other transfer method if it is capable of transferring data at a plurality of data transfer rates different in data transfer rate.
- the Ultra DMA transfer mode for example, ATA/ATAPI-4 T13/1153D Revision 9, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
Abstract
Methods and apparatus are described for a data transfer unit between a storage unit and a host, wherein a slower data transfer rate is established when a predetermined error is detected. In one embodiment the cyclicity of the error occurrence calculated and a wait is inserted between data to avoid transferring data at the calculated cyclicity point of the detected error. Optionally the data transfer unit may return the data transfer rate to the original data transfer rate or state after a predetermined time has elapsed, after a predetermined number of commands have been received, after a predetermined amount of data have been transferred, or by combination of these.
Description
-
BACKGROUND OF THE INVENTION
-
1. Field of the Invention
-
The present invention relates to a data transfer unit, a disk unit, and a data transfer method which are employed in hard disk drives (HDDs), and more particularly to a data transfer unit, a disk unit, and a data transfer method equipped with a data transfer function.
-
2. Description of Related Art
-
Ultra ATA is an interface standard for enhanced integrated device electronics (EIDE) that has been standardized as the next version of the Fast ATA-3 version to realize fast transfer rate.
-
The Ultra ATA supports an ultra direct memory access (DMA)/33 transfer protocol and the maximum data transfer rate is 33M bytes/sec. The data transfer by a DMA mode makes it possible to transfer data directly between main memory and peripheral equipment, such as HDDs, without having recourse to intervention of a central processing unit (CPU). The present ultra DMA/33 prescribes three modes:
transfer mode0 through mode 2, depending upon transfer rates.
-
The data transfer rate of the Ultra DMA transfer mode is double that of the Multi-word DMA transfer mode of the Fast ATA-3, as shown in Table 1.
TABLE 1 Ultra DMA Transfer Multi-word DMA Transfer 0 16.6 MB/s (120 ns) 8.3 MB/s (240 ns) Mode 1 22.2 MB/s (90 ns) 11.1 MB/s (180 ns) Mode 2 33.3 MB/s (60 ns) 16.6 MB/s (240 ns) -
Also, in the Ultra ATA, a data sending side (for example, a hard disk drive during a read operation and a host during a write operation) drives a strobe signal which determines the timing at which data is fetched, thereby controlling data transfer rate at the data sending side. In fact, the data transfer rate at the hard disk drive is set by a Set Features command (EFh) from the host, and the data transfer rate will be reset if the hard disk drive receives a power-on reset or hard reset signal from the host.
-
Thus, in the Ultra DMA transfer protocol, since the data transfer rate is increased twice, there is a need to detect an error in the data transferred onto the IDE I/F bus, and there is added a cyclic redundancy check (CRC) function which calculates the CRC value of transferred data at the host and the hard disk drive and compares the calculated CRC value.
-
Where an error is detected by the aforementioned CRC function, the host merely reissues the command to the disk drive. However, in the case where temporarily the signal quality on the IDE I/F bus becomes degraded and a CRC error frequently occurs, the number of command reissue is increased, and consequently, an extreme reduction in the throughput of data transfer takes place. Furthermore, when a CRC error cannot be recovered by command reissue alone, the entire system will be stopped.
-
Accordingly, it is an object of the present invention to provide a data transfer unit, a disk drive, and a data transfer method which are capable of decreasing the cases in an Ultra DMA transfer mode of extreme reductions in the throughput of data caused by the command reissue and a final system stop. An example would be a temporary CRC error frequently occurring during the data transfer on Read DMA Commands which can be fixed by only a change on the disk drive side without requiring any changes of the existing mechanism on the host side. It is an object of the invention to realize highly reliable data transfer and a minimum reduction in the throughput of data transfer.
-
Another object of the present invention is to provide similar improvements in an Ultra DMA transfer mode for problems caused by command reissue and a final system stop.
-
Still another object of the present invention is to provide a solution which is capable of transferring data without errors in an Ultra DMA transfer mode.
SUMMARY OF THE INVENTION
-
In accordance with the present invention, there is provided a data transfer unit for transferring data in a direct memory access (DMA) transfer mode between a storage unit and a host, wherein a slower data transfer rate is established when a predetermined error is detected. In one embodiment the cyclicity of the error occurrence calculated and a wait is inserted between data to avoid the calculated cyclicity of the detected error. Optionally the data transfer unit may return the data transfer rate to the original data transfer rate, state or a default state after a predetermined time has elapsed, after a predetermined number of commands have been received, after a predetermined amount of data have been transferred, or by combination of these.
-
The aforementioned DMA transfer mode may also be based upon an Ultra DMA transfer mode.
-
In accordance with the present invention, there is provided a method of transferring data to and from a storage unit and a host, comprising the steps of: setting a first data transfer rate; transferring data between the storage unit and the host at the first data transfer rate; detecting an error in the transferred data; setting the data transfer rate to a second data transfer rate slower than the first data transfer rate when a predetermined error is detected; and transferring data at the second transfer rate.
BRIEF DESCRIPTION OF THE DRAWINGS
-
FIG. 1 is a block diagram showing the constitution of a disk drive according to a first embodiment to which the present invention is applied;
-
FIG. 2 is a flowchart showing the data transfer rate control that is performed by the aforementioned disk drive;
-
FIG. 3 is a flowchart showing the data transfer rate control that is performed at the side of a system which is the host of a disk drive according to a second embodiment to which the present invention is applied;
-
FIG. 4 is a timing chart for explaining the operation of a disk drive according to a third embodiment to which the present invention is applied; and
-
FIG. 5 is a flowchart showing the data transfer control that is executed at the aforementioned HDD side and system side.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
-
A disk drive according to the present invention can be applied to a small HDD equipped with an integrated device electronics (IDE) interface.
-
First Embodiment
-
FIG. 1 is a block diagram showing the constitution of a disk drive according to a first embodiment of the present invention.
-
In FIG. 1 reference numeral 100 denotes a magnetic disk drive (HDD) and 200 a personal computer (PC) as a host. The magnetic disk drive (HDD) 100 is connected to the PC 200, for example, by an IDE interface.
-
The magnetic disk drive (HDD) 100 is constituted by a
magnetic disk101 which is a data recording medium, a
VCM spindle driver102 including a spindle motor for driving the
magnetic disk101 to rotate, a
magnetic head103 for performing reading and writing of data on the
magnetic disk101, an
actuator mechanism104 for moving over the surface of the
magnetic disk101 or to an evacuating position a head slider having the
magnetic head103, a hard disk controller (HDC) 105 for controlling an operation of reading or writing data from or to the
magnetic disk101, and a microprocessor unit (MPU) 106 for controlling the entire operation of the HDD 100, including the control of the
HDC105.
-
The HDC 105 is connected to the MPU 106 by a
control bus107 and is connected to an external host of the HDD by an IDE I/
F bus150. The
HDC105 has internal memory which can store all data needed for data transfer, and is capable of performing data transfer in DMA mode in which data is transferred directly to a host without intervention of the
MPU106.
-
The MPU 106 is a microprocessor which executes a control program, and the MPU 106 is equipped with memory which stores the control program and data. The MPU 106 operates in accordance with the control program and controls the entire operation of the HDD 100. Also, based on the command and control data which are supplied from the
HDC105 and a host, the MPU 106 controls the operation of the
HDC105.
-
On the other hand, the PC 200, which becomes the host, has a
CPU201 and also has, for example, an IDE I/
F chipset202. The IDE I/
F chipset202 is made by forming an IDE interface into one chip. The PC 200 performs data transfer between it and the HDD 100 in Ultra ATA which is an interface standard for enhanced integrated device electronics (EIDE). The Ultra ATA standard maintains lower compatibility and supports the data transfer based on the Fast ATA.
-
Thus, the HDD 100 has the IDE interface, and the
MPU106 is equipped with data transfer means which transfers data at a predetermined data transfer rate from among a plurality of data transfer rates in accordance with a command from the host, error detection means which detects an error in transferred data, and control means which performs control so that data is transferred at a slower data transfer rate than the data transfer rate set according to a command from a host, if a predetermined error is detected by the error detection means.
-
The operation of the HDD 100 constructed as described above will hereinafter be described. Initially, a description will be made of the basic concepts of the present invention.
-
The data transfer rate during an Ultra DMA transfer mode can be controlled by a data sending side (for example, an HDD during a read operation and a host during a write operation). Hence, in the present invention, when a CRC error occurs in a Read DMA Command in an Ultra DMA transfer mode, the data transfer rate corresponding to the Read DMA Command thereafter is automatically slowed by the disk drive side.
-
More specifically, during data transfer between the system (host) and the HDD, the calculated CRC value and the CRC value of the transferred data are compared with each other at the HDD side. In the conventional example, when a CRC error occurs, the HDD sends an error message to the system side. The system side resends the HDD the same command at the same transfer rate, and the HDD repeats the same operation again.
-
On the other hand, in the present invention, attention is paid to the fact that in an Ultra DMA transfer mode the data transfer rate can be controlled by a data sending side (during a read operation, data is transferred from the HDD to the system (host)), and if a CRC error is detected at the HDD side, then the HDD will slow the data transfer rate of the Read DMA Command thereafter and transfer data at the slower data transfer rate. Since slow data in data transfer rate always has to be accepted according to the protocol, the data can be accepted without performing any other change in the standard system.
-
In this way, frequent occurrences of a CRC error during a read operation can be prevented and therefore the number of reissue of a command at the time of error can be reduced. Furthermore, since data transfer rate can be automatically returned to the initial data transfer rate at certain timing, data transfer is performed with high reliability in correspondence with the condition of data on the IDE I/F bus, and a reduction in the throughput of data transfer can be suppressed to the minimum.
-
When the normal mode has been switched to a CRC error monitor mode, the timing at which data transfer rate is returned to the initial data transfer rate can be:
-
(1) after a certain time has elapsed,
-
(2) after a certain number of commands have been received,
-
(3) after a certain quantity of data has been transferred, or
-
(4) combination of the above.
-
Furthermore, this timing is achievable by a change in the disk drive side without requiring any change in the existing host side.
-
The operation of the HDD 100 will now be described in detail based on the aforementioned basic concepts. The HDD 100 in the Ultra DMA transfer mode, when a CRC error occurs during the data transfer of a Read DMA Command (C8h: with retries, C9h: without retries) issued from the
host200, sends a CRC error message to the
host200 and, at the same time, sets the Ultra DMA transfer mode thereof to a transfer mode slower by one level than the current mode of the HDD 100 internally. At this time, the mode is switched to a CRC error monitor mode.
-
In the case where a CRC error occurs even in a command reissued from the
host200, the HDD 100 resets the current mode to a transfer mode further slower by one level. This processing is continued in the interior of the HDD until a CRC error will no longer occur or the current transfer mode reaches the
transfer mode0. In the case where the current Ultra DMA transfer mode is the transfer mode 0 (see Table 1), no mode change is performed.
-
When the Ultra DMA transfer mode is changed, the current mode is reset to the initial mode at certain timing, and it is monitored whether or not a CRC error occurs in a Read DMA Command thereafter. If no CRC error occurs, then the CRC error monitor mode is switched to the normal mode. Thereafter, data transfer is performed in the Initial Ultra DMA transfer mode. If a CRC error occurs, then the mode is slowed by one level at a time in is the same way as the aforementioned. The timing at which data transfer rate is returned to the initial data transfer rate can be determined as described above.
-
FIG. 2 is a flowchart showing the data transfer rate control that is performed by the HDD 100. This program is executed at a predetermined timing by the
MPU106. In the figure, reference character ST indicates step in the flow of operation and a part enclosed by an ellipse represents the status of each DMA transfer mode.
-
First, in step ST 1 the data transfer mode (Ultra DMA transfer mode) of the HDD 100 is set according to the command set on the host side. When the HDD 100 can perform the operation of the Ultra DMA transfer mode, the data transfer mode shifts to the Ultra DMA transfer mode in step ST2 and steps thereafter. When the HDD 100 cannot perform the operation of the Ultra DMA transfer mode, in step ST13 the data transfer mode is set to a Default DMA transfer mode Nd which is default. More specifically, it has been determined that in an initial state, such as a state immediately after power is turned on, the HDD 100 equipped with the Ultra DMA transfer mode is in a Multi-word DMA transfer mode which is the default. The HDD 100 responds to the request of the Ultra DMA transfer mode from the
host200. Then, the
host200 receives the response from the HDD 100 and sends an Ultra DMA transfer command. Next, the HDD 100 receives the command, whereby the data transfer mode of the HDD 100 can shift to the Ultra DMA transfer mode.
-
In step ST 2, the initialization of the Ultra DMA transfer mode of the HDD 100 is performed (Initial ultra DMA transfer mode Ni). When there is a power-on reset (POR) or hard reset signal, the data transfer mode is returned to the Default DMA transfer mode Nd of step ST13 which is the default.
-
Next, in step ST 3 it is judged whether or not a CRC error has occurred during data transfer in a read operation. If a CRC error has not occurred during data transfer, then step ST3 will return to step ST2. In step ST2, data transfer is continued at the initial data transfer rate.
-
When a CRC error has occurred during data transfer, a process of slowing a transfer mode by one level at a time is performed in step ST 4 and steps thereafter. More specifically, in step ST4 it is confirmed what mode the current Ultra DMA transfer mode is (i.e., it is confirmed what mode the Ultra DMA transfer mode Ni is). When the transfer mode Ni is 0, the data transfer mode is the slowest rate,
Mode0, among the Ultra DMA transfer modes (see Table 1). Therefore, it is judged that the data transfer mode can not be set to a slower transfer mode than this, and step ST4 returns to step ST2.
-
When the transfer mode Ni is greater than 0 (Ni>0), step ST 4 advances to step ST5. In step ST5, the Ultra DMA transfer mode Ni of the HDD 100 is set to a transfer mode slower by one level (i.e., Ni=Ni−1) and a read operation is performed in the slower transfer mode.
-
Next, in step ST 6 the occurrence of a CRC error during data transfer is monitored in the transfer mode slower by one level. In step ST7 it is judged whether or not a CRC error has occurred during the data transfer in the retried read operation.
-
If no CRC error occurs in the retried data transfer, then step ST 7 advances to step ST10 and steps thereafter, in which a process of returning a data transfer rate to the initial data transfer rate is performed. When a CRC error has occurred in the retried data transfer, in step ST8 it is confirmed what mode the current Ultra DMA transfer mode N is. When the mode N is 0, it is judged that the current transfer mode N cannot be set to a transfer mode slower than this, because the current transfer mode is the
slowest transfer mode0 among the Ultra DMA transfer modes, and step ST8 returns to step ST7. When the mode N is greater than 0 (N>0), step ST8 advances to step ST9. In step ST9, the Ultra DMA transfer mode of the HDD 100 is set to a transfer mode even slower by one level (i.e., N=N−1) and a read operation is performed. Thereafter, step ST9 returns to step ST7.
-
By the processing in the aforementioned steps ST 2 through ST9, in the Ultra DMA transfer modes, if a CRC error occurs during the data transfer of a Read DMA Command, then a data transfer mode is set to a transfer mode which is slower by one level and in which there is less occurrence of an error, and data transfer is retried by reissue of a command. When a CRC error occurs even in a transfer mode slower by one level, data transfer is retried in a transfer mode even slower by one level. This minimizes the number of CRC errors during data transfer, whereby reliable data transfer can be performed.
-
In this embodiment of the present invention, when a CRC error occurs, a data transfer mode has been slowed by one level at a time so that the number of CRC errors is reduced without lowering the data transfer rate, if possible. However, depending upon the status of the CRC error occurrence, a data transfer mode may also be set immediately to the
slowest mode0 among the Ultra DMA transfer modes.
-
Returning to the flowchart in FIG. 2, when a CRC error has no longer occurred at a certain data transfer rate in the aforementioned step ST 7, in step ST10 a read operation is performed at that Ultra DMA transfer mode N. At the same time, the data transfer is judged to be in a state where there is no occurrence of a CRC error, and in step ST11 a process of returning data transfer rate to the original data transfer rate set by the
system200 is performed. The timing at which data transfer rate is returned to the initial data transfer rate is determined, for example, by (1) after a certain time has elapsed, (2) after a certain number of commands have been received, (3) after a certain quantity of data has been transferred, or (4) combination of them. In the data transfer state of step ST10 where there is no occurrence of a CRC error, when there is a POR or hard reset signal, the data transfer mode is returned to the Default DMA transfer mode Nd of step ST13.
-
In step ST 12 the occurrence of a CRC error during data transfer is monitored in the transfer mode returned to the initial data transfer mode, and step ST12 returns to the aforementioned step ST3.
-
On the other hand, when in the initial state immediately after power is turned on, when the Ultra DMA transfer mode is not allowed by the
host200, or when there is a POR or hard reset signal in each state, in step ST13 the data transfer mode is set to the Default DMA transfer mode Nd which is default.
-
As described above, the HDD 100 and the
host200 according to the first embodiment are connected with the IDE interface. If even faster Ultra DMA/44 and Ultra DMA/66 data transfer are performed in future, the advantages of the present invention will be even greater.
-
In the first embodiment, since there is no change of the mechanism on the host side, an enhancement in the throughput of the entire system and an enhancement in the system reliability are achievable without any change in the existing system using the invention. These benefits are realizable by a change in the program of the
MPU106 without requiring any addition and change of hardware structure on the HDD side.
-
When the present invention is applied to the case of a write operation in which a Write DMA Command is issued from the host to the HDD, a partial change in the functioning on the host side becomes necessary. The data transfer rate control during a write operation will hereinafter be described by a second embodiment.
-
Second Embodiment
-
The entire structure of a disk drive according to a second embodiment of the present invention is similar to FIG. 1 and therefore a description of the hardware structure is omitted. However, in the second embodiment, the
CPU201 shown in FIG. 1 is constructed so as to execute the data transfer rate control of FIG. 3 to be described later which is similar to that described in FIG. 2.
-
If a CRC error occurs during the data transfer of the Write DMA Command (CAh: with retries, CBh: without retries) issued from the host to the HDD set in the Ultra DMA transfer mode or the Read DMA Command (C8h: with retries, C9h: without retries) and if the HDD sends a CRC error message to the host, the host will set the Ultra DMA transfer mode thereof and the Ultra DMA transfer mode of the HDD to a transfer mode slower by one level than the current mode, and the host will reissue the same command.
-
In the case where a CRC error has occurred even in the reissued command, the host resets the data transfer mode thereof and the data transfer mode of the HDD to a transfer mode further slower by one level and then reissues the same command. This processing is continued until a CRC error will no longer occur or the transfer mode reaches the
transfer mode0.
-
In the case where the current Ultra DMA transfer mode is a
transfer mode0, no mode change is performed, and the host will reissue the same command. When the Ultra DMA transfer mode is changed, thereafter the data transfer mode is reset to the initial transfer mode at certain timing, and it is monitored whether or not a CRC error occurs. If no CRC error occurs, the data transfer thereafter will be performed in the initial transfer mode. If a CRC error occurs, then the transfer mode will be slowed by one level at a time in the same way as the aforementioned.
-
The timing at which data transfer rate is returned to the initial data transfer rate can be determined by:
-
(1) after a certain time has elapsed,
-
(2) after a certain number of commands have been executed,
-
(3) after a certain quantity of data have been transferred, or
-
(4) combination of them,
-
since the transfer mode has been changed.
-
FIG. 3 is a flowchart showing the data transfer rate control that is performed on the side of a system which is a host. This program is executed at a predetermined timing by the
CPU201 of the
PC200. In the figure, a part enclosed by an ellipse indicates the state of each DMA transfer mode.
-
First, in step ST 21 the data transfer mode (Ultra DMA transfer mode) is set according to the capacity of the HDD 100. When the HDD 100 can perform the operation of the Ultra DMA transfer mode, the data transfer mode shifts to the Ultra-DMA transfer mode in step ST22 and steps thereafter. When the HDD 100 cannot perform the operation of the Ultra DMA transfer mode, in step ST33 the data transfer mode is set to a Default DMA transfer mode Nd which is default. More specifically, it has been determined that in an initial state, such as a state immediately after power is turned on, the HDD 100 equipped with the Ultra DMA transfer mode is in a Multi-word DMA transfer mode which is default. The HDD 100 responds to the request of the Ultra DMA transfer mode from the
host200. Then, the
host200 receives the response from the HDD 100 and sends an ultra DMA transfer command. Next, the HDD 100 receives the command, whereby the data transfer mode can shift to the Ultra DMA transfer mode. Also, in the system side (host side), the Ultra DMA transfer mode or the Multi-word DMA transfer mode can be arbitrarily set.
-
In step ST 22, the initialization of the Ultra DMA transfer mode of the
host200 is performed (Initial Ultra DMA transfer mode Ni). When there is a power-on reset (POR) or hard reset signal, the data transfer mode is returned to the Default DMA transfer mode Nd of step ST33 which is default.
-
Next, in step ST 23 it is judged whether or not a CRC error has occurred during data transfer in a write operation. If a CRC error has not occurred during data transfer, then step ST23 will return to step ST22. In step ST22, data transfer is continued at the initialized data transfer rate.
-
When a CRC error has occurred during data transfer, a process of slowing a transfer mode by one level at a time is performed in step ST 24 and steps thereafter. More specifically, in step ST24 it is confirmed what mode the current Ultra DMA transfer mode is (i.e., it is confirmed what the Ultra DMA transfer mode Ni is). When the Ni is 0, the data transfer mode is the
slowest rate mode0 among the Ultra DMA transfer modes (see Table 1). Therefore, it is judged that the data transfer mode cannot be set to a transfer mode slower than this, and step ST24 returns to step ST22.
-
When the Ni is greater than 0 (Ni>0), step ST 24 advances to step ST25. In step ST25, the Ultra DMA transfer mode Ni of the
host200 is set to a transfer mode slower by one level (i.e., Ni=Ni−1) and a write operation is performed in the slower transfer mode.
-
Next, in step ST 26 the occurrence of a CRC error during data transfer is monitored in the transfer mode slower by one level. In step ST27 it is judged whether or not a CRC error has occurred during the data transfer which is performed in the retried write operation.
-
If no CRC error occurs in the retried data transfer, then step ST 27 advances to step ST30 and steps thereafter, in which a process of returning a data transfer rate to the initial data transfer rate is performed. When a CRC error has occurred in the retried data transfer, the current Ultra DMA transfer mode N is confirmed in step ST28. When the N is 0, it is judged that the current transfer mode N cannot be set to a transfer mode slower than this, because the current transfer mode is the
slowest transfer mode0 among the Ultra DMA transfer modes, and step ST28 returns to step ST27. When the N is greater than 0 (N>0), step ST28 advances to step ST29. In step ST29, the Ultra DMA transfer mode of the
host200 is set to a transfer mode still slower by one level (i.e., N=N−1) and a write operation is performed in the slower transfer mode. Thereafter, step ST29 returns to step ST27.
-
By the processing in the aforementioned steps ST 22 through ST29, in the Ultra DMA transfer modes, if a CRC error occurs during the data transfer of a Write DMA Command, then a data transfer mode will be set to a transfer mode which is slower by one level and in which there is less occurrence of an error, and data transfer will be retried by reissue of a command. When a CRC error occurs even in a transfer mode slower by one level, data transfer is retried in a transfer mode further slower by one level. This minimizes the occurrence of a CRC error during data transfer, thereby performing reliable data transfer.
-
In the second embodiment of the present invention, a data transfer mode has been slowed by one level at a time on the occurrence of a CRC error so that the number of CRC errors is reduced without lowering the data transfer rate, if possible. However, depending upon the status of the CRC error occurrence, a data transfer mode may also be set immediately to the
slowest mode0 among the Ultra DMA transfer modes.
-
Returning to the flow in FIG. 3, when no CRC error has occurred in the data transfer at a certain data transfer rate in the aforementioned step ST 27, in step ST30 a write operation is performed at that Ultra DMA transfer mode N. At the same time, the data transfer is judged to be in a state where there is no occurrence of a CRC error, and in step ST31 a process of returning data transfer rate to the initial data transfer rate is performed. The timing at which data transfer rate is returned to the initial data transfer rate is determined, for example, by (1) after a certain time has elapsed, (2) after a certain number of commands have been executed, (3) after a certain quantity of data have been transferred, or (4) combination of them, since a normal mode has been switched to a CRC error monitor mode. In the data transfer state of step ST30 where there is no occurrence of a CRC error, when there is a POR or hard reset signal, the data transfer mode is returned to the Default DMA transfer mode Nd of step ST33 which is default.
-
In step ST 32 the occurrence of a CRC error during data transfer is monitored in the transfer mode returned to the initial data transfer rate, and step ST32 returns to the aforementioned step ST23.
-
On the other hand, when in the initial state immediately after power is turned on, when the Ultra DMA transfer mode is not allowed by the host, or when there is a POR or hard reset signal in each state, in step ST 33 the data transfer mode is set to the Default DMA transfer mode Nd which is default.
-
As described above, the HDD and the host according to the second embodiment employ on the host side a method comprising the steps of: setting a first data transfer rate; transferring data between the storage unit (HDD) and the host at a first data transfer rate; detecting an error in the transferred data; setting the data transfer rate to a second data transfer rate slower than the first data transfer rate when a predetermined error is detected in the step of detecting an error; and transferring data between the storage unit and the host at the second transfer rate. Therefore, even during a write operation in which a Write DMA Command is sent from the host to the HDD, the status of the IDE I/F bus can be known by monitoring the status of the existing CRC error. Consequently, even higher reliable data transfer can be achieved without requiring any hardware change, and a reduction in the throughput of data transfer during a read/write operation can be suppressed to the minimum. In addition, since a mode can be automatically returned to the initial mode, the status of the IDE I/F bus can be dynamically reflected, whereby data can be transferred at the maximum data transfer rate in that status.
-
Third Embodiment
-
The entire structure of a disk drive according to a third embodiment of the present invention is similar to FIG. 1 and therefore a description of the hardware structure is omitted. However, in the third embodiment, the
MPU106 and
CPU201 in FIG. 1 are constructed so as to execute the data transfer rate control of FIG. 5 to be described later.
-
A conventional DMA controller has a function of performing data transfer and, at the same time, checking data content by a parity. In the case where correct data was not sent, the information is sent to the data sending side, and the data sending side resends data in response to the information. In this case, if a predetermined number of retries are unsuccessful, then an error message will be sent to the sending side.
-
As described above, the background art merely performs retries if a CRC error occurs. Therefore, in the case where a source of noise generation is present in a system or around a transfer path, the CRC error will frequently occur and a retry will be repeated each time, and consequently, there is the problem that the entire processing rate of the DMA transfer becomes slow.
-
Hence, the present invention provides a means for performing data transfer without errors.
-
In the ATA interface of an HDD, if an error occurs during data transfer in Ultra DMA transfer mode, the data will be decided as an error after data transfer by CRC error checking. At this time, in the background art, the host performs a retry and transfers the same command.
-
In the present invention, as shown in FIG. 4, when checking a CRC error, a wait is inserted between data to vary a relative transfer rate, thereby escaping from major factors causing noise or an error. That is, in the circumstance where there is much noise, a retry is not merely repeated but if an error is detected, the timing at which data is transferred as the next retry will be varied and data will be transferred at the varied timing. Particularly, for burst noise resulting from a cyclic noise generation source (such as a motor and an oscillator), data transfer is attempted to be performed where the noise was avoided.
-
Now, the operation of the HDD will be described based on the aforementioned basic concepts.
-
If the HDD or the system generates a CRC error, a wait will be put between data when data transfer is performed from the system or the HDD. This wait is inserted according to the status of the CRC error occurrence, and for example, the wait spacing is increased at the unit of a clock for each retry. Also, this error condition and the wait spacing with which a CRC error was recovered are stored, and if a CRC error is generated next, then data transfer will be performed at the same wait spacing, based on the stored information. In addition, in the case where a CRC error is successively generated, waits are inserted until the next POR signal.
-
In the case of a read operation, the aforementioned wait insertion is controlled by the HDD, and in the case of a write operation, the wait insertion is controlled by the controller within the system.
-
FIG. 5 is a flowchart showing the data transfer control that is executed at the HDD side and the system side. The data transfer control is executed by the HDD during a read operation and by the system during a write operation, respectively. More specifically, this program is executed at a predetermined timing by the
MPU106 of the HDD 100 and the
CPU201 of the
PC200 of FIG. 1.
-
If data transfer is started, in step ST 41 data will be sent for a fixed time (for example, 1 sec), while performing a CRC checking operation for each unit of one sector.
-
Next, in step ST 42, which sector had an error is judged and the cyclicity of the error occurrence is calculated. For example, it is calculated that an error tends to occur once in 10 sectors.
-
Next, in step ST 43 a wait bit is put between data bits in such a manner that the cyclicity of the error occurrence is avoided, and then the next data transfer is performed. Step ST43 returns to step ST42 and the aforementioned processing is repeated until end of data transfer. For example, as shown in FIG. 4, in the case where an error takes place once in 10 sectors due to cyclic burst noise, data is sent in such a manner that each time 10 sectors are sent, one sector is not sent.
-
The aforementioned steps ST 42 and ST43 are repeatedly executed until the end of data transfer, and even if new cyclic burst noise were generated, waits would be input so as to avoid that noise generation. Therefore, major factors causing CRC errors can be avoided as much as possible, and consequently, the effect of a reduction in the number of retries is great.
-
It is possible that a system, an HDD, and the data transfer path therebetween will be used under the circumstance where they are subjected to the influence of a cyclic noise source (for example, motors and oscillators), and in such a case, even if there were a delay due to insertion of wait bits, the effect of a reduction in the number of retries by reducing the occurrence of errors would be great.
-
As previously described, in the HDD 100 according to the third embodiment, the
MPU106 of the HDD 100 and the
CPU201 of the
PC200 are equipped with error detection means for detecting an error in transferred data, calculation means for calculating cyclicity of the detected error occurrence, and control means for performing control so that data transfer is performed in such a manner that a predetermined wait bit is inserted between data bits to avoid the calculated cyclicity of the detected error occurrence, based on the output of the calculation means. Therefore, for burst noise resulting from a cyclic noise generation source (e.g., motors, oscillators, etc.), data transfer can be performed where that noise was avoided, and consequently, data transfer can be performed without errors.
-
In this embodiment, the data transfer rate is not slowed on the whole as in the first and second embodiments, but wait bits are inserted so that only points where errors occur are avoided. Therefore, a reduction in the data transfer rate can be minimized although it depends upon the status of the noise occurrence. Particularly, since points where errors occur can be avoided, the total transfer time and data reliability can be even further enhanced. In addition, if this embodiment is employed together with the aforementioned first and second embodiments, synergetic effects can be expected.
-
In the aforementioned embodiments, while the present invention has been applied to an HDD, it is not limited to this but is also applicable to any other unit if it is equipped with a data transfer function. For example, the present invention may also be employed in an external recording other than HDDs, such as a magneto-optical disk data storage, and similar advantages as the aforementioned embodiments can be obtained.
-
In addition, although the first and second embodiments have been applied to the DMA transfer based on the Ultra DMA transfer mode (for example, ATA/ATAPI-4 T13/1153D Revision 9, etc.), the present invention is not limited to the DMA transfer but is also applicable to any other transfer method if it is capable of transferring data at a plurality of data transfer rates different in data transfer rate.
-
Furthermore, it is a matter of course that the HDC, MPU, and interface constituting the aforementioned disk drive are not limited in kind and number to the embodiments described above.
Claims (15)
1. A data transfer unit for transferring data in a direct memory access (DMA) transfer mode between a storage unit and a host, comprising:
data transfer means for transferring data at one of at least first and second data transfer rates where the second data transfer rate is slower than the first data transfer rate;
error detection means for detecting a predetermined error in transferring the data; and
control means for transferring data between the storage unit and the host at the first data transfer rate until the predetermined error is detected by the error detection means whereupon the data is temporarily transferred at the second data transfer rate until a specified event occurs.
2. The data transfer unit of
claim 1
, further comprising means for returning a data transfer rate to the first data transfer rate when the specified event occurs and wherein the specified event includes that a predetermined time has elapsed while transferring data at the second rate.
3. The data transfer unit of
claim 1
, further comprising means for returning a data transfer rate to the first data transfer rate when the specified event occurs and wherein the specified event includes that a predetermined number of commands have been received while transferring data at the second rate.
4. The data transfer unit of
claim 1
, further comprising means for returning a data transfer rate to the first data transfer rate when the specified event occurs and wherein the specified event includes that a predetermined amount of data has been transferred while transferring data at the second rate.
5. The data transfer unit as set forth in
claim 1
, wherein the DMA transfer mode is based upon an Ultra DMA transfer mode.
6. The data transfer unit as set forth in
claim 1
further comprising:
calculation means for calculating cyclicity of a plurality of predetermined error occurrences; and
control means for inserting a predetermined wait to avoid transferring data at the cyclicity of the plurality of predetermined error occurrences.
7. A method of transferring data between a storage unit and a host, comprising the steps of:
setting a first data transfer rate;
transferring data between the storage unit and the host at the first data transfer rate;
detecting an error in the transferred data;
setting the data transfer rate to a second data transfer rate slower than the first data transfer rate when a predetermined error is detected in the step of detecting an error; and
transferring data between the storage unit and the host at the second transfer rate.
8. The method of
claim 7
further comprising the steps of:
calculating cyclicity of a plurality of predetermined errors; and
inserting a predetermined wait in the data to avoid transferring data at the calculated cyclicity of the plurality of predetermined errors.
9. The method of
claim 7
, further comprising the step of returning a data transfer rate to the first data transfer rate when a specified condition occurs and wherein the specified condition includes that a predetermined number of commands have been received while transferring data at the second rate.
10. The method of
claim 7
, further comprising the step of returning a data transfer rate to the first data transfer rate when the specified condition occurs and wherein the specified condition includes that a predetermined amount of data has been transferred while transferring data at the second rate.
11. A data transfer unit for transferring data between devices, comprising:
error detection means for detecting a plurality of errors while transferring data;
calculation means for calculating cyclicity of the plurality of errors; and
control means for performing control so that data transfer avoids the calculated cyclicity of the detected error occurrence, based on an output of the calculation means.
12. The data transfer unit of
claim 11
wherein the control means inserts wait bits into the data stream to avoid the calculated cyclicity.
13. The data transfer unit of
claim 11
further comprises means for returning to an original state upon a condition which includes that a predetermined number of commands have been received while avoiding the calculated cyclicity.
14. The data transfer unit of
claim 11
further comprises means for returning to a original state upon a condition which includes that predetermined time has elapsed while avoiding the calculated cyclicity.
15. The data transfer unit of
claim 11
further comprises means for returning to a original state upon a condition which includes that predetermined amount of data has been transferred while avoiding the calculated cyclicity.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/784,538 US20010016884A1 (en) | 1997-07-24 | 2001-02-14 | Data storage unit with cyclic error detection and avoidance |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9198728A JPH1145157A (en) | 1997-07-24 | 1997-07-24 | Data transfer device, disk drive, and data transfer method |
JP9-198728 | 1997-07-24 | ||
US09/121,944 US6209046B1 (en) | 1997-07-24 | 1998-07-24 | DMA transfer from a storage unit to a host using at least two transfer rates and cyclic error detection |
US09/784,538 US20010016884A1 (en) | 1997-07-24 | 2001-02-14 | Data storage unit with cyclic error detection and avoidance |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/121,944 Division US6209046B1 (en) | 1997-07-24 | 1998-07-24 | DMA transfer from a storage unit to a host using at least two transfer rates and cyclic error detection |
Publications (1)
Publication Number | Publication Date |
---|---|
US20010016884A1 true US20010016884A1 (en) | 2001-08-23 |
Family
ID=16396008
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/121,944 Expired - Fee Related US6209046B1 (en) | 1997-07-24 | 1998-07-24 | DMA transfer from a storage unit to a host using at least two transfer rates and cyclic error detection |
US09/784,538 Abandoned US20010016884A1 (en) | 1997-07-24 | 2001-02-14 | Data storage unit with cyclic error detection and avoidance |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/121,944 Expired - Fee Related US6209046B1 (en) | 1997-07-24 | 1998-07-24 | DMA transfer from a storage unit to a host using at least two transfer rates and cyclic error detection |
Country Status (2)
Country | Link |
---|---|
US (2) | US6209046B1 (en) |
JP (1) | JPH1145157A (en) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030025839A1 (en) * | 2001-07-31 | 2003-02-06 | Shuhua Xiang | Address generation for video processing |
US6943973B1 (en) * | 2000-05-22 | 2005-09-13 | Hitachi Global Storage Technologies Japan, Ltd. | Management method for reproduction error and a disk drive making use of the management method |
US20050207663A1 (en) * | 2001-07-31 | 2005-09-22 | Weimin Zeng | Searching method and system for best matching motion vector |
US20050207488A1 (en) * | 2001-07-31 | 2005-09-22 | He Ouyang | Dct/idct with minimum multiplication |
US20050206784A1 (en) * | 2001-07-31 | 2005-09-22 | Sha Li | Video input processor in multi-format video compression system |
US20050213661A1 (en) * | 2001-07-31 | 2005-09-29 | Shuhua Xiang | Cell array and method of multiresolution motion estimation and compensation |
US20050216608A1 (en) * | 2001-07-31 | 2005-09-29 | Xu Wang | Multiple channel data bus control for video processing |
US20050223410A1 (en) * | 2001-07-31 | 2005-10-06 | Sha Li | Video processing control and scheduling |
US20050226324A1 (en) * | 2001-07-31 | 2005-10-13 | He Ouyang | Multiple format video compression |
US20050228970A1 (en) * | 2001-07-31 | 2005-10-13 | Shuhua Xiang | Processing unit with cross-coupled alus/accumulators and input data feedback structure including constant generator and bypass to reduce memory contention |
EP1798642A2 (en) * | 2005-12-19 | 2007-06-20 | Seiko Epson Corporation | Information processing device |
CN101800071A (en) * | 2009-02-10 | 2010-08-11 | 三星电子株式会社 | Solid state disk device and program fail processing method thereof |
US20100226627A1 (en) * | 1998-07-30 | 2010-09-09 | Barton James M | Multimedia Stream Processing System |
US20110113161A1 (en) * | 2008-01-11 | 2011-05-12 | Yasutsugu Toyoda | Optical disk control device |
US20110126107A1 (en) * | 1998-07-30 | 2011-05-26 | Tivo Inc. | Closed caption tagging system |
US20130163954A1 (en) * | 1998-07-30 | 2013-06-27 | Tivo Inc. | Transportable Digital Video Recorder System |
US8824865B2 (en) | 1998-07-30 | 2014-09-02 | Tivo Inc. | Digital video recorder system with an integrated DVD recording device |
US20150118592A1 (en) * | 2012-04-13 | 2015-04-30 | Danmarks Tekniske Universitet | High performance reversible electrochemical cell for h2o electrolysis or conversion of co2 and h2o to fuel |
US9258592B2 (en) | 2004-11-19 | 2016-02-09 | Tivo Inc. | Method and apparatus for secure transfer of previously broadcasted content |
US9521356B2 (en) | 1998-07-30 | 2016-12-13 | Tivo Inc. | Digital security surveillance system |
US9986295B2 (en) | 2009-04-08 | 2018-05-29 | Tivo Solutions Inc. | Automatic contact information transmission system |
US10153000B2 (en) | 2006-06-22 | 2018-12-11 | Tivo Solutions Inc. | In-band data recognition and synchronization system |
US11303796B2 (en) * | 2018-06-28 | 2022-04-12 | Canon Kabushiki Kaisha | Imaging apparatus, accessory apparatus, and communication control method |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6772245B1 (en) * | 2000-03-29 | 2004-08-03 | Intel Corporation | Method and apparatus for optimizing data transfer rates between a transmitting agent and a receiving agent |
US6567953B1 (en) | 2000-03-29 | 2003-05-20 | Intel Corporation | Method and apparatus for host-based validating of data transferred between a device and a host |
US6598189B1 (en) * | 2000-04-28 | 2003-07-22 | Nortel Networks Limited | Method and apparatus for determining the rate and quality of received data in a variable rate digital communication system |
US6785752B2 (en) | 2001-03-23 | 2004-08-31 | International Business Machines Corporation | Method for dynamically adjusting buffer utilization ratios in a hard disk drive system |
JP3868250B2 (en) | 2001-10-09 | 2007-01-17 | 松下電器産業株式会社 | Data transfer device, data transfer system, and data transfer method |
US20030217204A1 (en) * | 2002-05-20 | 2003-11-20 | Toshiba Tec Kabushiki Kaisha | Method for determining a data transmission mode of a hard disk drive |
US20050038946A1 (en) * | 2003-08-12 | 2005-02-17 | Tadpole Computer, Inc. | System and method using a high speed interface in a system having co-processors |
WO2006070443A1 (en) | 2004-12-27 | 2006-07-06 | Fujitsu Limited | Device and method for judging the correctness of transfer data |
US7620746B2 (en) | 2005-09-29 | 2009-11-17 | Apple Inc. | Functional DMA performing operation on DMA data and writing result of operation |
US7496695B2 (en) | 2005-09-29 | 2009-02-24 | P.A. Semi, Inc. | Unified DMA |
KR100736402B1 (en) | 2005-11-19 | 2007-07-09 | 삼성전자주식회사 | Data transfer method and hard disk drive performing the method |
US20080147908A1 (en) * | 2006-12-13 | 2008-06-19 | Microchip Technology Incorporated | Direct Memory Access Controller with Error Check |
US8069279B2 (en) | 2007-03-05 | 2011-11-29 | Apple Inc. | Data flow control within and between DMA channels |
JP5277562B2 (en) | 2007-04-19 | 2013-08-28 | 株式会社ニコン | Electronic device, electronic camera and data transfer program |
JP6565506B2 (en) | 2015-09-07 | 2019-08-28 | 富士通株式会社 | Reception device, reception control method, and reception control program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5816668B2 (en) * | 1976-11-12 | 1983-04-01 | 富士通株式会社 | Facsimile transmission method |
US5826106A (en) * | 1995-05-26 | 1998-10-20 | National Semiconductor Corporation | High performance multifunction direct memory access (DMA) controller |
US6035425A (en) * | 1997-09-29 | 2000-03-07 | Lsi Logic Corporation | Testing a peripheral bus for data transfer integrity by detecting corruption of transferred data |
-
1997
- 1997-07-24 JP JP9198728A patent/JPH1145157A/en active Pending
-
1998
- 1998-07-24 US US09/121,944 patent/US6209046B1/en not_active Expired - Fee Related
-
2001
- 2001-02-14 US US09/784,538 patent/US20010016884A1/en not_active Abandoned
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9521356B2 (en) | 1998-07-30 | 2016-12-13 | Tivo Inc. | Digital security surveillance system |
US10021446B2 (en) | 1998-07-30 | 2018-07-10 | Tivo Solutions Inc. | Multimedia stream processing system |
US9854199B2 (en) | 1998-07-30 | 2017-12-26 | Tivo Solutions Inc. | Multiple outlet digital video recording system |
US9800823B2 (en) | 1998-07-30 | 2017-10-24 | Tivo Solutions Inc. | Digital security surveillance system |
US9788049B2 (en) | 1998-07-30 | 2017-10-10 | Tivo Solutions Inc. | Multimedia signal processing system |
US20100226627A1 (en) * | 1998-07-30 | 2010-09-09 | Barton James M | Multimedia Stream Processing System |
US9407891B2 (en) | 1998-07-30 | 2016-08-02 | Tivo Inc. | One-touch recording of a program being advertised |
US9264686B2 (en) | 1998-07-30 | 2016-02-16 | Tivo Inc. | Tag-based menus in video streams |
US8965173B2 (en) | 1998-07-30 | 2015-02-24 | Tivo Inc. | Multimedia stream processing system |
US8824865B2 (en) | 1998-07-30 | 2014-09-02 | Tivo Inc. | Digital video recorder system with an integrated DVD recording device |
US20130163954A1 (en) * | 1998-07-30 | 2013-06-27 | Tivo Inc. | Transportable Digital Video Recorder System |
US20110126107A1 (en) * | 1998-07-30 | 2011-05-26 | Tivo Inc. | Closed caption tagging system |
US6943973B1 (en) * | 2000-05-22 | 2005-09-13 | Hitachi Global Storage Technologies Japan, Ltd. | Management method for reproduction error and a disk drive making use of the management method |
US6981073B2 (en) * | 2001-07-31 | 2005-12-27 | Wis Technologies, Inc. | Multiple channel data bus control for video processing |
US20050226324A1 (en) * | 2001-07-31 | 2005-10-13 | He Ouyang | Multiple format video compression |
US7142251B2 (en) | 2001-07-31 | 2006-11-28 | Micronas Usa, Inc. | Video input processor in multi-format video compression system |
US7184101B2 (en) | 2001-07-31 | 2007-02-27 | Micronas Usa, Inc. | Address generation for video processing |
US7219173B2 (en) | 2001-07-31 | 2007-05-15 | Micronas Usa, Inc. | System for video processing control and scheduling wherein commands are unaffected by signal interrupts and schedule commands are transmitted at precise time |
US20050207488A1 (en) * | 2001-07-31 | 2005-09-22 | He Ouyang | Dct/idct with minimum multiplication |
US20050206784A1 (en) * | 2001-07-31 | 2005-09-22 | Sha Li | Video input processor in multi-format video compression system |
US20050213661A1 (en) * | 2001-07-31 | 2005-09-29 | Shuhua Xiang | Cell array and method of multiresolution motion estimation and compensation |
US20050216608A1 (en) * | 2001-07-31 | 2005-09-29 | Xu Wang | Multiple channel data bus control for video processing |
US7085320B2 (en) | 2001-07-31 | 2006-08-01 | Wis Technologies, Inc. | Multiple format video compression |
US7035332B2 (en) | 2001-07-31 | 2006-04-25 | Wis Technologies, Inc. | DCT/IDCT with minimum multiplication |
US20050223410A1 (en) * | 2001-07-31 | 2005-10-06 | Sha Li | Video processing control and scheduling |
US20050207663A1 (en) * | 2001-07-31 | 2005-09-22 | Weimin Zeng | Searching method and system for best matching motion vector |
US6996702B2 (en) | 2001-07-31 | 2006-02-07 | Wis Technologies, Inc. | Processing unit with cross-coupled ALUs/accumulators and input data feedback structure including constant generator and bypass to reduce memory contention |
US20030025839A1 (en) * | 2001-07-31 | 2003-02-06 | Shuhua Xiang | Address generation for video processing |
US6970509B2 (en) | 2001-07-31 | 2005-11-29 | Wis Technologies, Inc. | Cell array and method of multiresolution motion estimation and compensation |
US20050228970A1 (en) * | 2001-07-31 | 2005-10-13 | Shuhua Xiang | Processing unit with cross-coupled alus/accumulators and input data feedback structure including constant generator and bypass to reduce memory contention |
US10440342B2 (en) | 2004-11-19 | 2019-10-08 | Tivo Solutions Inc. | Secure transfer of previously broadcasted content |
US9258592B2 (en) | 2004-11-19 | 2016-02-09 | Tivo Inc. | Method and apparatus for secure transfer of previously broadcasted content |
US10735705B2 (en) | 2004-11-19 | 2020-08-04 | Tivo Solutions Inc. | Method and apparatus for displaying branded video tags |
US9967534B1 (en) | 2004-11-19 | 2018-05-08 | Tivo Solutions Inc. | Digital video recorder video editing system |
US7832639B2 (en) | 2005-12-19 | 2010-11-16 | Seiko Epson Corporation | Information processing device |
EP1798642A3 (en) * | 2005-12-19 | 2007-10-03 | Seiko Epson Corporation | Information processing device |
US20070170255A1 (en) * | 2005-12-19 | 2007-07-26 | Seiko Epson Corporation | Information processing device |
EP1798642A2 (en) * | 2005-12-19 | 2007-06-20 | Seiko Epson Corporation | Information processing device |
US10153000B2 (en) | 2006-06-22 | 2018-12-11 | Tivo Solutions Inc. | In-band data recognition and synchronization system |
US20110113161A1 (en) * | 2008-01-11 | 2011-05-12 | Yasutsugu Toyoda | Optical disk control device |
US20100205517A1 (en) * | 2009-02-10 | 2010-08-12 | Doogie Lee | Solid State Disk Device and Program Fail Processing Method Thereof |
CN101800071A (en) * | 2009-02-10 | 2010-08-11 | 三星电子株式会社 | Solid state disk device and program fail processing method thereof |
US9986295B2 (en) | 2009-04-08 | 2018-05-29 | Tivo Solutions Inc. | Automatic contact information transmission system |
US9631286B2 (en) * | 2012-04-13 | 2017-04-25 | Danmarks Tekniske Universitet | High performance reversible electrochemical cell for H2O electrolysis or conversion of CO2 and H2O to fuel |
US20150118592A1 (en) * | 2012-04-13 | 2015-04-30 | Danmarks Tekniske Universitet | High performance reversible electrochemical cell for h2o electrolysis or conversion of co2 and h2o to fuel |
US11303796B2 (en) * | 2018-06-28 | 2022-04-12 | Canon Kabushiki Kaisha | Imaging apparatus, accessory apparatus, and communication control method |
US11706523B2 (en) | 2018-06-28 | 2023-07-18 | Canon Kabushiki Kaisha | Imaging apparatus, accessory apparatus, and communication control method |
Also Published As
Publication number | Publication date |
---|---|
JPH1145157A (en) | 1999-02-16 |
US6209046B1 (en) | 2001-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6209046B1 (en) | 2001-03-27 | DMA transfer from a storage unit to a host using at least two transfer rates and cyclic error detection |
JP2855019B2 (en) | 1999-02-10 | External storage device data guarantee method and external storage device |
US7383472B2 (en) | 2008-06-03 | Disk array subsystem |
US4792898A (en) | 1988-12-20 | Method and apparatus for temporarily storing multiple data records |
JPH11273243A (en) | 1999-10-08 | Disk device and write buffer control method used in the same |
US7428665B2 (en) | 2008-09-23 | Methods and structure for detection and handling of catastrophic SCSI errors |
KR20020064142A (en) | 2002-08-07 | Disc drive for achieving improved audio and visual data transfer |
EP0682314B1 (en) | 2000-02-16 | Redundant disk storage system |
US6434711B1 (en) | 2002-08-13 | Disk array apparatus that avoids premature declarations of faults |
US20020138694A1 (en) | 2002-09-26 | Magnetic disc drive, method for recording data, and method for reproducing data |
US6061824A (en) | 2000-05-09 | Pipelined error correction for minimizing disk re-reading in hard drives |
US20080016429A1 (en) | 2008-01-17 | Data storage device and error correction method |
US6430652B1 (en) | 2002-08-06 | Method and apparatus for streaming data in a data processing system |
JPH1139777A (en) | 1999-02-12 | Disk driving device and control method therefor |
JP2001092600A (en) | 2001-04-06 | Computer system having large capacity storage device and its operating method |
US6332196B1 (en) | 2001-12-18 | Disk storage apparatus and power supply control method for the same |
US20060212777A1 (en) | 2006-09-21 | Medium storage device and write path diagnosis method |
US6088818A (en) | 2000-07-11 | Data read apparatus and data read method |
CN112885381B (en) | 2023-02-17 | Electronic communication device, magnetic disk device, and serial communication method |
KR20040082308A (en) | 2004-09-24 | Method for optimizing UDMA transfer signals using CRC errors |
JP3150242B2 (en) | 2001-03-26 | Disk unit |
US8132196B2 (en) | 2012-03-06 | Controller based shock detection for storage systems |
US7181570B2 (en) | 2007-02-20 | Diskarray system for suppressing disk fault |
JP2000293963A (en) | 2000-10-20 | Magnetic disk device and retry processing method therefor |
US8159779B2 (en) | 2012-04-17 | Method and apparatus utilizing shock sensors on storage devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
2002-09-03 | STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |