U.S. patent application number 15/694723 was filed with the patent office on 2018-09-27 for magnetic disk device, controller, and method.
The applicant listed for this patent is KABUSHIKI KAISHA TOSHIBA. Invention is credited to Takashi MATSUO, Kenji YOSHIDA.
Application Number | 20180277151 15/694723 |
Document ID | / |
Family ID | 63556824 |
Filed Date | 2018-09-27 |
United States Patent
Application |
20180277151 |
Kind Code |
A1 |
MATSUO; Takashi ; et
al. |
September 27, 2018 |
MAGNETIC DISK DEVICE, CONTROLLER, AND METHOD
Abstract
A magnetic disk device includes a magnetic disk that includes a
plurality of tracks, a magnetic head for reading data from the
magnetic disk, and a controller. The controller begins controlling
the magnetic head to move to a second track of the plurality of
tracks from a first track of the plurality of tracks before
decoding of a first track signal output from the magnetic head is
completed, wherein the first track signal is output from the
magnetic head while the magnetic head is positioned over the first
track.
Inventors: |
MATSUO; Takashi; (Fujisawa
Kanagawa, JP) ; YOSHIDA; Kenji; (Kamakura Kanagawa,
JP) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
KABUSHIKI KAISHA TOSHIBA |
Tokyo |
|
JP |
|
|
Family ID: |
63556824 |
Appl. No.: |
15/694723 |
Filed: |
September 1, 2017 |
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G11B 5/012 20130101;
G11B 20/10009 20130101; G11B 2005/001 20130101; G11B 27/00
20130101; G11C 11/34 20130101; G11B 2020/10675 20130101; G11B
21/083 20130101; G11B 5/553 20130101; G11B 5/5526 20130101; G11B
5/187 20130101; G11B 2020/1062 20130101; G11B 20/10268 20130101;
G11B 5/5547 20130101 |
International
Class: |
G11B 5/55 20060101
G11B005/55; G11B 5/187 20060101 G11B005/187; G11C 11/34 20060101
G11C011/34; G11B 21/08 20060101 G11B021/08 |
Foreign Application Data
Date |
Code |
Application Number |
Mar 21, 2017 |
JP |
2017-054867 |
Claims
1. A magnetic disk device comprising: a magnetic disk that includes
a plurality of tracks; a magnetic head for reading data from the
magnetic disk; and a controller that begins controlling the
magnetic head to move to a second track of the plurality of tracks
from a first track of the plurality of tracks before decoding of a
first track signal output from the magnetic head is completed,
wherein the first track signal is output from the magnetic head
while the magnetic head is positioned over the first track.
2. The device according to claim 1, further comprising: a first
storage unit that stores first information for causing the magnetic
head to access the first track; and a second storage unit that
stores second information for causing the magnetic head to access
the second track, wherein the controller performs a decoding
process on the first track signal based on the first information
stored in the first storage unit to generate decoded sector data,
begins controlling the magnetic head to move to the second track
based on the second information stored in the second storage unit,
and after storing the decoded sector data in a third storage unit,
updates the first information stored in the first storage unit with
third information for causing the magnetic head to access a third
track of the plurality of tracks.
3. The device according to claim 2, wherein updating the first
information stored in the first storage unit with the third
information comprises overwriting the first information with the
third information.
4. The device according to claim 1, further comprising: a first
semiconductor memory that stores first information for positioning
the magnetic head to the first track and second information for
positioning the magnetic head to the second track; and a second
semiconductor memory having a processing speed higher than the
first semiconductor memory, wherein the controller reads the first
information from the first semiconductor memory and writes the
first information into the second semiconductor memory, reads the
second information from the first semiconductor memory and writes
the second information into the second semiconductor memory, so
that the second semiconductor memory stores the first information
and the second information simultaneously, performs a decoding
process on the first track signal output from the magnetic head
based on the first information stored in the second semiconductor
memory to generate decoded sector data, and during the decoding
process, controls the magnetic head to move to the second track
based on the second information stored in the second semiconductor
memory.
5. The device according to claim 4, further comprising: a buffer
memory that stores a signal output from the magnetic head, wherein
the controller writes the first track signal output from the
magnetic head into the buffer memory during a period in which the
first information and the second information are stored in the
second semiconductor memory, and, while the magnetic head moves to
the second track based on the second information stored in the
second semiconductor memory, writes the decoded sector data stored
in the buffer memory into the first semiconductor memory.
6. The device according to claim 5, wherein the controller
overwrites the first information stored in the second semiconductor
memory with third information for controlling the position of the
magnetic head to a third track while a second track signal output
from the magnetic head is written into the buffer memory, wherein
the second track signal is output from the magnetic head while the
magnetic head is positioned over the second track, and controls the
magnetic head to move to the third track after the third
information is written into the second semiconductor memory.
7. The device according to claim 4, wherein the controller encodes
write data for the first track based on the first information
stored in the second semiconductor memory, and encodes the write
data for the second track based on the second information stored in
the second semiconductor memory.
8. The device according to claims 1, wherein the first information
and the second information each include a cylinder number, a head
number, and a sector number.
9. A method carried out in a magnetic disk device, the magnetic
disk device including a magnetic disk including a plurality of
tracks, and a magnetic head for reading data from the magnetic
disk, the method comprising: starting a decoding process on a first
track signal output from the magnetic head while the magnetic head
is positioned over a first track of the plurality of tracks, and
starting to move the magnetic head to a second track of the
plurality of tracks before completion of the decoding process.
10. The method according to claim 9, further comprising: writing
first information for causing the magnetic head to access the first
track into a first storage unit; writing second information for
causing the magnetic head to access the second track into a second
storage unit; performing the decoding process on the first track
signal output from the magnetic head based on the first information
stored in the first storage unit to generate decoded sector data;
begin moving the magnetic head to the second track based on the
second information stored in the second storage unit; and after
storing the decoded sector data in a third storage unit, updating
the first information stored in the first storage unit with third
information for causing the magnetic head to access a third track
of the plurality of tracks.
11. The method according to claim 9, further comprising: writing
first information for controlling the position of the magnetic head
to the first track and second information for controlling the
position of the magnetic head to the second track into a first
semiconductor memory; reading the first information from the first
semiconductor memory and reading the second information read from
the first semiconductor memory into a second semiconductor memory
having a processing speed higher than the first semiconductor
memory; performing the decoding process based on the first
information stored in the second semiconductor memory; and moving
the magnetic head to the second track based on the second
information stored in the second semiconductor memory.
12. The method according to claim 11, further comprising: writing
the first track signal output from the magnetic head into a buffer
memory while the first information and the second information are
stored in the second semiconductor memory, and writing the decoded
sector data stored in the buffer memory into the first
semiconductor memory while the magnetic head moves to the second
track based on the second information stored in the second
semiconductor memory.
13. The method according to claim 12, further comprising while a
second track signal output from the magnetic head is written into
the buffer memory, overwriting the first information stored in the
second semiconductor memory with third information for controlling
the position of the magnetic head to a third track, wherein the
second track signal is output from the magnetic head while the
magnetic head is positioned over the second track; and moving the
magnetic head to the third track after the third information is
written into the second semiconductor memory.
14. The method according to claim 13, further comprising: encoding
write data for the first track based on the first information
stored in the second semiconductor memory; and encoding the write
data for the second track based on the second information stored in
the second semiconductor memory.
15. A controller that can be connected to a magnetic disk device,
comprising: a decoding circuit that performs a decoding process on
a signal output from a magnetic head; and a first storage unit that
stores first information based on which the magnetic head is moved
to access a first track of a plurality of tracks in the magnetic
disk device; and a second storage unit that stores second
information based on which the magnetic head is moved to access a
second track of the plurality of tracks that is adjacent to the
first track, wherein the controller starts to control the magnetic
head to move to the second track based on the second information
stored in the second storage unit while the decoding circuit
performs the decoding process.
16. The controller according to claim 15, wherein the controller is
configured to store decoded sector data generated by the decoding
process in a third storage unit while the magnetic head moves from
the first track to the second track based on the second information
stored in the second semiconductor memory.
17. The controller according to claim 16, wherein the controller is
configured to, after storing the decoded sector data in the third
storage unit, update the first information stored in the first
storage unit with third information for causing the magnetic head
to access a third track of the plurality of track.
18. The controller according to claim 17, wherein updating the
first information stored in the first storage unit with the third
information comprises overwriting the first information with the
third information.
19. The controller according to claim 17, further comprising: a
buffer memory that stores a signal output from the magnetic head,
wherein the controller writes the first track signal output from
the magnetic head into the buffer memory during a period in which
the first information is stored in the first storage unit and the
second information are stored in the second storage unit, and
writes the decoded sector data stored in the buffer memory into the
first semiconductor memory while the magnetic head moves to the
second track based on the second information stored in the second
semiconductor memory.
20. The controller according to claim 19, wherein the controller
overwrites the first information stored in the second storage unit
with third information for causing the magnetic head to access a
third track while a second track signal output from the magnetic
head is written into the buffer memory, wherein the second track
signal is output from the magnetic head while the magnetic head is
positioned over the second track, and controls the magnetic head to
move to the third track after the third information is written into
the second storage unit.
Description
[0001] This application is based upon and claims the benefit of
priority from Japanese Patent Application No. 2017-054867, filed
Mar. 21, 2017, the entire contents of which are incorporated herein
by reference.
FIELD
[0002] Embodiments described herein relate generally to a magnetic
disk device, a controller, and a method.
BACKGROUND
[0003] Generally, encoded data read from a magnetic disk is input
to a controller and is stored in a work memory in a read/write
channel. The read/write channel performs decoding processing on the
data in the work memory. Data obtained by the decoding processing
is transferred to a buffer memory from the work memory, and
subsequently, output to a host device. In recent years, in order to
improve reliability of such data, when encoding the data, a code is
used with high error correction capability, for example, a low
density parity check (LDPC) code. Therefore, a decoding processing
time increases, particularly due to the increased error correction
time associated with decoding such an encoding scheme.
[0004] At the time of data reading or data writing, in order to
seek the head to a target track and position the head over the
target track, or to perform encoding/decoding processing,
information including a cylinder number, the number of sectors in
the track, and a clock frequency are necessary. Such information is
stored on the disk in advance. Before reading data in a certain
track, the controller reads this information from the disk and
writes the information into an internal memory such as a register.
It is necessary for the controller to hold this information in the
internal memory until the encoding/decoding processing for the data
in the track is finished.
DESCRIPTION OF THE DRAWINGS
[0005] FIG. 1 is a schematic illustration of an example
configuration of a magnetic disk device in exemplary
embodiments.
[0006] FIG. 2 is a flowchart illustrating an example of a reading
operation of the magnetic disk device in a first exemplary
embodiment.
[0007] FIG. 3 is a timing chart schematically illustrating an
example of successive reads of a plurality of tracks.
[0008] FIG. 4 is a timing chart illustrating a comparison of
successive reads from a plurality of tracks.
[0009] FIG. 5 is a flowchart illustrating an example of a write
operation of the magnetic disk device.
[0010] FIG. 6 is a timing chart schematically illustrating an
example of successive writes to a plurality of tracks.
[0011] FIG. 7 is a timing chart illustrating a comparison of
successive writes to a plurality of tracks.
DETAILED DESCRIPTION
[0012] Embodiments provide a magnetic disk device, a controller,
and a method capable of successively accessing a plurality of
tracks.
[0013] In general, according to one exemplary embodiment, a
magnetic disk device includes a magnetic disk that includes a
plurality of tracks, a magnetic head for reading data from the
magnetic disk, and a controller. The controller begins controlling
the magnetic head to move to a second track of the plurality of
tracks from a first track of the plurality of tracks before
decoding of a first track signal output from the magnetic head is
completed, wherein the first track signal is output from the
magnetic head while the magnetic head is positioned over the first
track.
[0014] Hereinafter, exemplary embodiments will be described
referring to the drawings. The disclosure is merely an example, and
the disclosure is not limited by the content in the exemplary
embodiments described below. Naturally, modifications that can be
easily conceived by those skilled in the art are included in the
scope of the disclosure. For clarity of description, in some cases
in the drawings the size, shape, and the like of each element may
be schematically illustrated and are not necessarily to scale. In
some drawings, the same reference numbers will be given to
corresponding elements, and the detailed description thereof will
be omitted.
Schematic Configuration
[0015] FIG. 1 is a block diagram illustrating a typical
configuration example of a magnetic disk device (also referred to
as a hard disk drive) in the exemplary embodiments. The magnetic
disk device includes a magnetic disk (hereinafter, simply referred
to as a disk) 12, a spindle motor (SPM) 14, an actuator 16, a
driver integrated circuit (IC) 18, a head IC 20, a main controller
22, a voice coil motor (VCM) 34, and the like. The main controller
22 is connected to a host device (not illustrated).
[0016] The disk 12 is a magnetic recording medium and has, for
example, write surfaces on both sides thereof on which the data is
magnetically recorded. The disk 12 is rotated at a high speed by
the spindle motor 14. The spindle motor 14 is driven by a current
or a voltage supplied from the driver IC 18.
[0017] The write surfaces on the disk 12 include a plurality of
tracks 12A. The tracks 12A may be a plurality of concentric tracks
or may be a single spiral track. The disk 12 also includes a
plurality of servo areas 12B radially formed in a radial direction.
The plurality of servo areas 12B are discretely arranged at equal
circumferential intervals. Each track 12A between servo areas 12B
adjacent to each other in the circumferential direction is used as
data area 12C. The servo area 12B in each track 12A is also
referred to as a servo frame. An area that includes a servo area
12B in each track 12A and a data area 12C adjacent to the servo
area 12B is also referred to collectively as a servo sector. The
data areas 12C include a plurality of data sectors having a
constant size, for example, 512 bytes.
[0018] Servo data is written in the servo area 12B. The servo data
includes a track number, a sector number, and burst data. The
sector number is a number that specifies the servo sector, and the
burst data indicates a relative position of the head with respect
to a center of the track.
[0019] A write head 32A and a read head 32B are disposed adjacent
to a corresponding write surface of the disk 12. The write head 32A
and the read head 32B are collectively referred to herein as simply
a head 32. FIG. 1 illustrates the write head 32A and the read head
32B that correspond to the write surface on one side of the disk
12. A write head and a read head can be similarly disposed adjacent
to the write surface on the other side of the disk 12. The write
head 32A and the read head 32B are attached to a slider 16C which
is attached to a tip end of the suspension 16B that is extended
from an arm 16A of the actuator 16. The actuator 16 is driven by
the voice coil motor 34. The voice coil motor 34 is driven by a
current or a voltage supplied from the driver IC 18. Rotation of
the actuator 16 moves the write head 32A and the read head 32B
relative to the disk 12 in the radial direction so as to draw an
arc and to be positioned at a target track.
[0020] FIG. 1 illustrates a magnetic disk device including one disk
12, but the magnetic disk device in the exemplary embodiments may
include a plurality of stacked disks and a plurality of
corresponding heads disposed proximate the plurality of disks,
respectively. In embodiments in which a plurality of double sided
disks with write surfaces on both sides thereof, the number of
heads is twice the number of disks, and the heads are disposed on
both sides of the plurality of disks. Since one head corresponds to
a respective write surface, each write surface can be represented
by a head number. When a plurality of double sided disks are
stacked, a position of an particular data sector is designated by
cylinder-head-sector (CHS) information. A set of tracks having the
same radius on each write surface is referred to as a cylinder. A
cylinder number C indicates a position in the radial direction of
the disk, and corresponds to the track in which the data sector is
provided. A head number H indicates a sequential number of the
write surface on which the data sector is positioned. A sector
number S indicates a sequential number of a servo sector in the
track in which the data sector is positioned. Generally, a cylinder
on the outmost periphery is cylinder 0, a head on the uppermost
surface is head 0, a first servo sector of a track is sector 1, and
the numbers are subsequently allocated in order.
[0021] The driver IC 18 drives the spindle motor 14 and the voice
coil motor 34 in response to a control signal by a servo controller
44 in the main controller 22. The head IC 20 is also called a head
amplifier, and includes a variable gain amplifier that amplifies an
output signal from the read head 32B (referred to as a read
signal). The head IC 20 converts the write data output from the
main controller 22 (specifically, the read/write channel 42 in the
main controller 22) into a write current, and outputs the write
current to the write head 32A.
[0022] The main controller 22 is implemented as a system Large
scale integration IC called a system on a chip (SoC) in which a
plurality of elements are integrated into a single chip. The main
controller 22 includes the read/write channel 42, a hard disk
controller (HDC) 46, and the servo controller 44. A memory unit 24
with semiconductor memory such as a buffer memory 62 or a flash
memory 64 configured with an SDRAM or the like is provided external
to the main controller 22.
[0023] The read/write channel 42 processes the signal supplied to
the head IC 20 or the signal supplied from the head IC 20. The
read/write channel 42 includes a work memory 52 configured with an
SRAM in which the data is temporarily stored for coding/decoding.
During a write process, the hard disk controller 46 writes the user
data transferred from the host device into the buffer memory 62,
divides the user data into sector data having a constant size, for
example, 512 bytes, adds a cyclic redundancy check (CRC) code for
each sector data, and transfers the sector data to which the CRC is
added to the work memory 52 in the read/write channel 42. The hard
disk controller 46 causes the data transferred from the read/write
channel 42 to include CHS information. The CHS information may be
added to the sector data or may be included in the CRC code by an
EXOR operation. The read/write channel 42 encodes the sector data
in the work memory 52 using an error correction code such as an
LDPC code. The encoded data is transferred to the head IC 20 and is
written into the disk 12 by the write head 32A.
[0024] During a read process, the read/write channel 42 converts
analog data into digital data, and stores the digital data in the
work memory 52. The analog data is based on the output signal of
the read head 32B supplied from the head IC 20. The read/write
channel 42 performs a decoding process on the digital data stored
in the work memory 52. The read/write channel 42 performs the
decoding process based on the error correction code, and repeats
the decoding process until it is determined that the correct
decoding result is obtained. When it is determined that the correct
decoding result is obtained, the read/write channel 42 transfers
the data obtained by the decoding process to the hard disk
controller 46 from the work memory 52. The hard disk controller 46
checks the data obtained by the decoding process based on the CRC
code. When it is determined that there is an error based on the CRC
code, the hard disk controller 46 instructs the read/write channel
42 to retry to read. When it is determined that there is no error,
the hard disk controller 46 transfers the data transferred from the
work memory 52 to the buffer memory 62. The hard disk controller
46transfers the data in the buffer memory 62 to the host device as
appropriate.
[0025] The hard disk controller 46 is connected to the host device
via a host interface. The host device can use the magnetic disk
device as its own storage device. The host device and the magnetic
disk device are included in, for example, an electronic device such
as a personal computer, a video camera, a music player, a mobile
terminal, a mobile phone, or a printer device. The hard disk
controller 46 functions as a host interface controller that
transfers a signal to the host device and receives a signal
transferred from the host device. Specifically, the hard disk
controller 46 receives commands (e.g., a write command, a read
command, or the like) transferred from the host device. The hard
disk controller 46 controls the data transfer between the host
device and the memory unit 24. The hard disk controller 46
functions as a disk interface controller that controls the data
written to the disk 12 and the data read from the disk 12 via the
read/write channel 42, the head IC 20, and the write head 32A, read
head 32B.
[0026] The servo controller 44 controls the spindle motor 14 and
the voice coil motor 34 via the driver IC 18. In order to position
the head 32 at a target position on the target track in the disk
12, the servo controller 44 controls the voice coil motor 34 based
on the servo data extracted by the read/write channel 42.
Controlling the voice coil motor 34 is equivalent to controlling
the rotation angle of the actuator 16.
[0027] The read/write channel 42, the hard disk controller 46, and
the servo controller 44 each respectively include a microprocessor
unit (MPU) (not illustrated). The MPUs implement the functions of
the read/write channel 42, the hard disk controller 46, and the
servo controller 44, respectively, by executing each of the control
programs for the read/write channel 42, the hard disk controller
46, and the servo controller 44. In cooperation with the MPUs, the
read/write channel 42, the servo controller 44, and the hard disk
controller 46 are controlled to cooperate with each other. The
control programs are stored in the flash memory 64. A single MPU
may execute the control program on a time sharing basis. The hard
disk controller 46 includes a memory 48 configured with SRAM that
stores track-related information described below. The memory 48
includes an area Track A and an area Track B in which the
track-related information for two tracks is stored.
[0028] The memory unit 24 includes the buffer memory 62 and the
flash memory 64. The flash memory 64 is a rewritable nonvolatile
semiconductor memory, and a control program (e.g., firmware) for
implementing the functions of the main controller 22 (including the
hard disk controller 46 and the servo controller 44) is stored in
advance in flash memory 64. A correspondence table (for example, an
address conversion table) between a logical address and a physical
address, and information on defect sectors (e.g., physical
addresses indicating defective sectors, or the like) are also
stored in part of the storage area in the flash memory 64. At least
a part of the storage area in the buffer memory 62 is established
as a work area for the hard disk controller 46 and the servo
controller 44. The read data decoded by the read/write channel 42
is transferred to the buffer memory 62 to be temporarily stored in
the buffer memory 62, and then transmitted to the host device. The
write data transmitted from the host device is temporarily stored
in the buffer memory 62, and then transferred to the read/write
channel 42. In FIG. 1, the memory unit 24 is connected to the main
controller 22 as a separate device, but may be incorporated in the
main controller 22.
Reading Operation
[0029] The reading operation of the magnetic disk device in the
first exemplary embodiment will be described referring to a
flowchart in FIG. 2. When a power source supplied to the magnetic
disk device is turned ON, the hard disk controller 46 reads
track-related information relating to a track format of each track
from the disk 12 and writes the information into the buffer memory
62 in S12. The track-related information includes CHS information
on each sector, a sector number of the first data sector in each
servo sector, a position of the second data sector in each servo
sector, a standard sector length of the sector in each servo
sector, the number of data sectors in each servo sector, a skew
setting value, a defective sector table, and clock information.
When arranging the data sectors in the track, the physical
arrangement position of each data sector is determined based on the
track related information. The track-related information is
information for each track, and the track-related information for
all the tracks is transferred to the buffer memory 62 from the disk
12 in S12.
[0030] In S14, a read command is input to the hard disk controller
46 from the host device. The read command includes an address (also
referred to as an LBA) of a read start sector and an address range
(such as an LBA length). The LBA (logical block address) included
in the read command is converted to the CHS information based on an
address conversion table.
[0031] In S16, the hard disk controller 46 reads the track-related
information on the track (which is the read start track (referred
to as a track i)) for the read start sector, from the buffer memory
62 and writes the information into the first area Track A in the
memory 48.
[0032] In S18, the servo controller 44 supplies a seek current or
voltage (based on a difference between the current position of the
head 32 and the position of the read start sector) to the voice
coil motor 34, and performs positioning of the head 32 (also known
as seeking) at the position of the read start sector. The position
of read start sector is based on the CHS information in the
track-related information stored in the first area Track A in the
memory 48. The voice coil motor 34 rotates according to the seek
current or voltage and moves the head 32 to the read start
track.
[0033] In S22, the read/write channel 42 starts to read the encoded
sector data in track i from the disk 12. First, the read/write
channel 42 reads the first data (which is encoded sector data)
which includes the read start sector from the disk 12, and writes
the encoded sector data read from the read start sector into the
work memory 52. When writing of the first encoded sector data into
the work memory 52 is finished, the read/write channel 42 continues
to sequentially read the encoded sector data of the second and
subsequent sectors from the disk 12 and sequentially write the
encoded sector data into the work memory 52.
[0034] When the writing of the first encoded sector data into the
work memory 52 is finished, in S23, the read/write channel 42
starts the decoding process on the encoded sector data in the work
memory 52. First, the read/write channel 42 performs the decoding
process on the first encoded sector data in the work memory 52. One
method of encoding the data written into the disk 12, for example,
employees a low density parity check (LDPC) code having high error
correction ability. The encoding is performed on a per sector
basis, but encoding on a track basis may also be used. The encoding
on a per sector basis is performed by adding an error correction
code (ECC) bit to the original sector data, while encoding on a per
track basis is performed by adding a parity sector in each track to
the sector data in the place of the sector data. When encoding on a
per track basis is performed, the read/write channel 42 first
performs the decoding processing on a per sector basis based on the
sector ECC. If the correct decoding result cannot be obtained by
the decoding processing on a per sector basis, the read/write
channel 42 then obtains the sector data by performing the decoding
process on a per track basis based on the parity sector.
[0035] The read/write channel 42 sends the sector data obtained by
the decoding processing to the hard disk controller 46. In S24, the
hard disk controller 46 checks the sector data from the read/write
channel 42 based on the CRC code. In a case where there is an
error, the hard disk controller 46 instructs the read/write channel
42 to retry to read. In a case where there is no error, the hard
disk controller 46 transfers the sector data received from the
read/write channel 42 to the buffer memory 62. When the sector data
obtained by performing the decoding processing on the first encoded
sector data is transferred to the hard disk controller 46, the
read/write channel 42 sequentially performs the decoding process on
the encoded sector data from the second and subsequent sectors, and
transfers the sector data obtained by the decoding process to the
hard disk controller 46. The sector data transferred to the buffer
memory 62 is transferred to the host device at a time when it is
possible to communicate with the host device.
[0036] In S26, the read/write channel 42 determines whether or not
all the encoded sector data in the track i to be read are read from
the disk 12 and written to the work memory 52. If No (NO in S26),
the process pauses in S26 while the operations of S22, S23, and S24
continue to completion, including reading the encoded sector data
in track i and transferring the data to the work memory 52 in S22,
performing the decoding processing in S23, and transferring the
sector data to the hard disk controller 46 and the buffer memory 52
in S24.
[0037] When all the encoded sector data in the track i to be read
are read from the disk 12 and written to the work memory 52 (YES in
S26), the hard disk controller 46 determines whether or not reading
of all the data designated by the read command is finished in S28,
specifically, all of the data referenced by the LBA length included
in the read command. That is, the hard disk controller 46
determines whether or not the LBA length designated by the read
command extends over multiple tracks. When the LBA length extends
over a plurality of tracks, the hard disk controller 46 determines
whether or not a track is present that includes unread encoded
sector data that is designated to be read in the read command. When
the reading is finished (YES in S28), that is, when the LBA length
designated by the read command does not extend over multiple tracks
or when no unread tracks are present even though the LBA length
designated by the read command extends over multiple tracks, the
operation ends while waiting for completion of the transfer of all
the sector data read from the track i to the buffer memory 62. When
the reading is not finished (NO in S28), in S32, the hard disk
controller 46 reads the track-related information for the next
track, i.e., the track (i+1), from the buffer memory 62 and writes
the information into the second area Track B in the memory 48. It
is noted that Track A and Track B in the memory 48 represent
different regions of the memory 48, and can be updated or
overwritten with new data independently from each other.
[0038] In S34, the servo controller 44 supplies the seek current or
voltage (based on a difference between the current position of the
head 32 and the position of the read start sector of the next track
(i+1) to the voice coil motor 34, and performs positioning of the
head 32 to the position of the first sector in the next track
(i+1).
[0039] In S38, the read/write channel 42 starts to read the encoded
sector data stored in the track (i+1) from the disk 12.
First, the read/write channel 42 reads the first encoded sector
data in the track (i+1) from the disk 12 and writes the encoded
sector data read from the track (i+1) into the work memory 52. When
writing of the first encoded sector data into the work memory 52 is
finished, the read/write channel 42 continues to sequentially read
the encoded sector data stored in the second and subsequent sectors
from the disk 12, and sequentially writes the encoded sector data
that has been read into the work memory 52.
[0040] Similar to S23, when writing of the first encoded sector
data into the work memory 52 is finished, in S39 the read/write
channel 42 starts to perform the decoding process on the encoded
sector data in the work memory 52. First, the read/write channel 42
performs the decoding processing on the first encoded sector data
in the work memory 52. When the ECC bit is added during encoding
not only on a per sector basis but also on a per track basis, the
decoding process is performed on the encoded sector data on both a
per sector basis and on a per track basis. The decoding process on
a per track basis is performed after the encoded sector data items
for all of one track are written into the work memory 52.
[0041] The read/write channel 42 sends the sector data obtained by
the decoding process to the hard disk controller 46. In S42, the
hard disk controller 46 checks the sector data, i.e. the decoding
result that is sent from the read/write channel 42, based on the
CRC code. In a case where there is an error, the hard disk
controller 46 instructs the read/write channel 42 to retry to read.
In a case where there is no error, the hard disk controller 46
transfers the sector data received from the read/write channel 42
to the buffer memory 62. When the sector data obtained by
performing the decoding process on the first encoded sector data is
transferred to the hard disk controller 46, the read/write channel
42 sequentially performs the decoding process on the second and
subsequent encoded sector data and transfers the sector data
obtained by the decoding process to the hard disk controller
46.
[0042] In S44, the read/write channel 42 determines whether or not
all the encoded sector data in the track (i+1) to be read have been
read from the disk 12 and written to the work memory 52. If No (NO
in S44), the process pauses in S44, while the operations of S38,
S39, and S42 continue to completion, including reading the encoded
sector data in track (i+1) and transferring the data to the work
memory 52 in S38, performing the decoding processing in S39, and
transferring the sector data to the hard disk controller 46 and the
buffer memory 52 in S42.
[0043] When all the encoded sector data in the track (i+1) to be
read are read from the disk 12 and written to the work memory 52
(YES in S44), in S46 similarly to S28, the hard disk controller 46
determines whether or not reading of all the data designated by the
read command is finished, specifically, all of the data referenced
by the LBA length included in the read command. If the reading is
finished (YES in S46), the operation ends while waiting for the
completion of the transfer of the sector data from the track (i+1)
to the buffer memory 62.
[0044] If the reading is not finished (NO in S46), that is, when it
is necessary to read sector data stored in a third track, the hard
disk controller 46 increases the variable i by two (i+2) in S48,
and then, the process proceeds to S52. In S52, the hard disk
controller 46 reads the track-related information for the track i
(i.e., the third track) from the buffer memory 62 and writes the
information into the first area Track A in the memory 48. In S54,
the servo controller 44 performs positioning of the head 32 to the
position of the first sector in the next track I (now the third
track). The main controller 22 then repeats the process steps
beginning at S22.
Successive Reading
[0045] By the process described above, the magnetic disk device in
the exemplary embodiments can successively read data from a first
track and then a second track adjacent to the first track, and can
transmit the data so read to the host device. The memory 48 in the
hard disk controller 46 in the main controller 22 includes the area
Track A and the area Track B that each store the track-related
information for a different one of the first track and the second
track.
[0046] FIG. 3 illustrates, with respect to time (where time
progresses from left to right), the encoded sector data transferred
to the work memory 52 in the read/write channel 42 from the disk
12, the sector data transferred to the buffer memory 62 from the
work memory 52 in the read/write channel 42, and a state of the
track-related information stored in the area Track A and the area
Track B in the memory 48 in the hard disk controller 46. The CHS
information, the CRC code, and the ECC are added to the encoded
sector data transferred to the work memory 52 from the disk 12. The
CHS information and the CRC code are added to the sector data
transferred to the buffer memory 62 from the work memory 52.
[0047] In S16 in FIG. 2, the track-related information on the track
i (which is the read start track) is written into the area Track A
in the memory 48. The head 32 is positioned at the track i based on
the track-related information in S18, and the encoded sector data
in the track i is sequentially read from the disk 12 and written
into the work memory 52 in S22. The decoding process is performed
on the encoded sector data in the track i in S23. In S24, the
decoding result, i.e., the encoded sector data that has been read
and decoded, is transferred to the hard disk controller 46, which
checks the CRC. When there is an error, the encoded sector data in
that sector is read again from the disk 12, and the encoded sector
data read from that sector is written into the work memory 52. When
there is no error, the decoding result, i.e., the encoded sector
data that has been read and decoded, is transferred to the buffer
memory 62 from the work memory 52. FIG. 3 illustrates a scenario in
which no error is detected by the CRC checking.
[0048] When a certain time has elapsed after the first encoded
sector data in the track i is transferred to the work memory 52
from the disk 12, the sector data from the track i obtained by the
decoding process begins to be sequentially transferred to the
buffer memory 62 from the work memory 52. The time that has elapsed
is that time required for the completion of the decoding process
for the first encoded sector data in the track i, and is indicated
in FIG. 3 with an arrow denoted "decoding."
[0049] When all the encoded sector data to be read in the track i
are transferred to the work memory 52 from the disk 12, the
track-related information for the track (i+1) is written into the
area Track B in S32, and seeking of the head 32 to the track (i+1)
is started in S34. It is noted that even when the sector data in
the track i obtained by the decoding process is being transferred
to the buffer memory 62 from the work memory 52, the track-related
information for the track (i+1) is written into the area Track B in
S32.
[0050] When seeking of the head 32 to the track (i+1) is finished,
even if the sector data in the track i obtained by the decoding
process is still being transferred to the buffer memory 62 from the
work memory 52, the encoded sector data stored in the track (i+1)
are sequentially read from the disk 12 and sequentially written
into the work memory 52 in S38. In S39, the decoding process is
performed on the encoded sector data in the track (i+1). In S42,
the decoding result i.e., decoded sector data read from the track
(i+1), is transferred to the buffer memory from the work memory 52.
When a certain time has elapsed after the first encoded sector data
in the track (i+1) is transferred to the work memory 52 from the
disk 12, the sector data from in the track (i+1) obtained by the
decoding process begins to be sequentially transferred to the
buffer memory 62 from the work memory 52. The time that has elapsed
is that time required for completion of the decoding process for
the first encoded sector data in the track (i+1), and is indicated
in FIG. 3 with another arrow denoted "decoding."
[0051] When all the encoded sector data items to be read in the
track (i+1) are transferred to the work memory 52 from the disk 12,
the track-related information for the track (i+2) is written into
the area Track A in S52, and seeking of the head 32 to the track
(i+2) is started in S54. It is noted that even if the sector data
in the track (i+1) obtained by the decoding process is being
transferred to the buffer memory 62 from the work memory 52, the
track-related information for the track (i+2) is written into the
area Track A in S52, and seeking of the head 32 to the track (i+2)
is started in S54.
[0052] More generally, when all the encoded sector data in each
track j is transferred to the work memory 52 from the disk 12, the
track-related information for the next track (j+1) is written into
one area Track in the memory 48 in which the track-related
information for an immediately preceding track is stored. That is,
the track-related information for the next track (j+1) overwrites
the track-related information for the track (j-1), which is the
track that immediately precedes the track j. Thus, during the
process of writing the track-related information for the next track
(j+1) into one area Track in the memory 48, the track-related
information for the track j is stored in the other area Track in
the memory 48. Therefore, during a period in which the decoded
sector data for one track is transferred to the buffer memory 62
from the work memory 52, the seeking of the head 32 to the next
track can be started. As a result, the successive reading of sector
data from a plurality of tracks can be performed with high
efficiency.
[0053] By way of comparison, the successive reading of sector data
from a plurality of tracks and storing in memory 48 in the hard
disk controller, where the hard disk controller 46 stores the track
related-information on one track in the memory 48 will be described
in reference to FIG. 4.
[0054] The track-related information is written into the area Track
in the memory 48 at a time before the track i begins to be read.
The encoded sector data in the track i are sequentially read from
the disk 12 based on the track-related information in the area
Track in the memory 48, and are sequentially written into the work
memory 52 in the read/write channel 42. When the encoded sector
data in the track i are sequentially decoded, the decoded sector
data in the track i obtained by the decoding process are
sequentially transferred to the buffer memory from the work memory
52. However, before the sequential transfer to the buffer memory 62
of the decoded sector data can begin, a time interval elapses after
the first encoded sector data in the track i is transferred to the
work memory 52 from the disk 12. This time interval is a time
interval required for the decoding process to be completed for the
first encoded sector data read from the track i.,
[0055] When transfer is completed of the sector data from the track
i (obtained by the decoding process) to the buffer memory 62 from
the work memory 52, the track-related information for the track
(i+1) is then written into the area Track in the memory 48, and
seeking the head 32 to the track (i+1) is started. When seeking the
head 32 to the track (i+1) is finished, the encoded sector data
stored in the track (i+1) is sequentially read from the disk 12 and
is sequentially written into the work memory 52 in the read/write
channel 42.
[0056] More generally, when all the sector data items for one track
obtained by the decoding process is transferred to the buffer
memory 62 from the work memory 52, the track related-information on
the area Track in the memory 48 is updated, and seeking to the next
track can be performed, followed by reading of the encoded data in
the next track.
[0057] As described above, when there is only one track area in the
memory 48 for storing the track-related information, seeking the
head 32 to the next track is not started until all the sector data
for one track is read, decoded by the decoding process, and then
transferred to the buffer memory 62 from the work memory 52. Thus,
the successive reading speed when extended over multiple tracks is
significantly less than in the embodiments described herein.
[0058] However, in the exemplary embodiments, since there are two
track areas in the memory 48 for storing the track-related
information, there is no need to wait until all the sector data
items for one track obtained by the decoding processing are
transferred to the buffer memory from the work memory 52 before
starting to seek the head 32 to the next track. That is, at the
point in time point at which all the encoded sector data for one
track are written into the work memory 52 from the disk 12, seeking
to the next track can be started, and thus, the successive reading
speed when extended over multiple tracks can be improved.
Writing Operation
[0059] Successively accessing the disk for writing that extends
over multiple tracks includes similar operations to those employed
for reading as described above. The writing operation of the
magnetic disk device in the first exemplary embodiment will be
described in reference to a flowchart in FIG. 5. When the power
source supplied to the magnetic disk device is turned ON, the main
controller 22 reads track-related information for each track from
the disk 12 and writes the information into the buffer memory 62 in
S112.
[0060] In S114, a write command is input to the main controller 22
from the host device. The write command includes the address (also
referred to as an LBA) of the write start sector and the address
range (such as an LBA length). The LBA included in the write
command is converted to the CHS information, for example based on
ad address conversion table.
[0061] In S116, the hard disk controller 46 writes the write data
into the buffer memory 62. The write data is configured with sector
data for storage in one or more sectors.
[0062] In S118, the hard disk controller 46 reads the track-related
information for the write start track (referred to as track i) and
for the next track (referred to as track (i+1)) from the buffer
memory 62, and respectively writes the track-related information
for each into the first area Track A and the second area Track B in
the memory 48. When there is no next track associated with the
write command, the main controller 22 reads only the track-related
information on the write start track (referred to as track i) from
the buffer memory 62, and writes such track-related information
into the first area Track A.
[0063] In S120, the servo controller 44 supplies a seek current or
voltage (based on a difference between the current position of the
head 32 and the position of the write start sector) to the voice
coil motor 34, and performs positioning of the head 32 at the
position of the write start sector. The position of the write start
sector is based on the CHS information in the track-related
information stored in the first area Track A in the memory 48. The
voice coil motor 34 rotates according to the seek current or
voltage and moves the head 32 to the track at the position of the
write start sector (which the write start track).
[0064] In S124, the hard disk controller 46 starts to transfer the
write data in the buffer memory 62 to the read/write channel 42.
Specifically, the hard disk controller 46 reads the first sector
data to be written into the track i from the buffer memory 62,
generates the CRC code, adds the CHS information and the CRC code
to the sector data read from the buffer memory 62, and transfers
the result to the work memory 52 in the read/write channel 42. When
transferring of the first sector data to be written into the track
i to the work memory 52 is finished, the second and subsequent
sector data items to be written into the track i and the sector
data to be written into the track (i+1) are continuously and
sequentially read, and the CHS information and the CRC code are
added thereto, and then, sequentially transferred to the work
memory 52. The CHS information in the track-related information
stored in the first area Track A and the second area Track B in the
memory 48 needs to be included in the transfer data to the work
memory 52 from the buffer memory 62. In a case where storage of the
track-related information in the first area Track A and the second
area Track B in the memory 48 becomes unnecessary, the
track-related information is updated to new track-related
information. However, in a case where the track-related information
for the track to be transferred is not recorded in the memory 48 at
the time of transferring, the transferring waits until the
track-related information is recorded in the memory 48.
[0065] When the transfer is completed of the first sector data to
be written into the track i to the work memory 52 from the buffer
memory 62, the read/write channel 42 starts to encode the sector
data in the work memory 52 in S126. Specifically, the read/write
channel 42 encodes the first sector data in the track i in the work
memory 52 using the error correction code, for example, the LDPC
code. The encoding processing may be performed on a per track
basis, and is not necessarily limited to being performed on a per
sector basis. When encoding of the first sector data in the track i
is finished, the sector data for the second and subsequent sectors
in the track i and the sector data to be written into the track
(i+1) are continuously and sequentially encoded. The encoded sector
data is temporarily written into the work memory 52.
[0066] When encoding of the data is finished, in S128, the
read/write channel 42 starts to write the encoded sector data in
the track i on the disk 12. Specifically, the read/write channel 42
writes the first encoded sector data in the track i onto the disk
12 using the head IC 20. After the read/write channel 42 writes the
first encoded sector data in the track i on the disk 12, then,
continuously and sequentially writes the encoded sector data for
the second and subsequent sectors in the track i on the disk
12.
[0067] In S132, the hard disk controller 46 determines whether or
not all the encoded sector data items in the track i to be written
have been written on the disk 12. If No (NO in S132), the process
waits in S132, and writing the encoded sector data in the track i
on the disk 12 using the head IC 20 in S128 continues.
[0068] Once all the encoded sector data in the track i are written
on the disk 12 (YES in S132), in S133, the hard disk controller 46
reads the track-related information for the track (i+2) from the
buffer memory 62, and writes the information into the first area
Track A in the memory 48. In this way, the track-related
information for the track (i+2) overwrites the track-related
information on the track i in the first area Track A. When the
track-related information on the track(i+2) is written into the
first area Track A, the hard disk controller 46 reads the sector
data to be written into the track (i+1) from the buffer memory 62,
and then, sequentially reads the sector data to be written into the
track (i+2) from the buffer memory 62, generates the CRC code, adds
the CHS information and the CRC code to the sector data read from
the buffer memory 62, and then sequentially transfers the result to
the work memory 52 in the read/write channel 42. When the transfer
of the sector data to be written into the track (i+2) to the work
memory 52 is finished, the read/write channel 42 starts to encode
the sector data in the work memory 52.
[0069] In S134, the servo controller 44 seeks the head 32 to the
next track (i+1).
[0070] By reversing the order of S133 and S134, the track-related
information for the first area Track A in the memory may be updated
after seeking is started.
[0071] In S136, the read/write channel 42 starts to write the
encoded sector data in the track (i+1) on the disk 12.
Specifically, the read/write channel 42 writes the first encoded
sector data in the track (i+1) on the disk 12 using the head IC 20.
After the first encoded sector data in the track (i+1) is written
into the disk 12, the read/write channel 42 continues to
sequentially write the encoded sector data for the second and
subsequent encoded sectors in the track (i+1) onto the disk 12.
[0072] In S138, the hard disk controller 46 determines whether or
not the writing of all the data of the LBA length designated by the
write command is finished. That is, the hard disk controller 46
determines whether or not the LBA length designated by the write
command extends over multiple tracks, and when the LBA length does
not extend over multiple tracks, determines whether or not there is
a non-written track of the multiple tracks remaining. When the
writing is finished, that is, when the LBA length designated by the
write command does not extend over the more tracks, and or when
there are no remaining unwritten tracks when the LBA length
designated by the write command extends over the more tracks (YES
in S138), the operation ends.
[0073] If the writing is not finished (NO in S138), in S140, the
hard disk controller 46 determines whether or not all the encoded
sector data in the track (i+1) to be written have been written on
the disk 12. If No (NO in S140), the process pauses in S140 while
writing the encoded sector data in the track (i+1) into the disk 12
using the head IC 20 in S136 continues.
[0074] Once all the encoded sector data items in the track (i+1)
have been written onto the disk 12 (YES in S140), in S142, the hard
disk controller 46 reads the track-related information for the next
track (i+3) from the buffer memory 62 and writes the information
into the second area Track B in the memory 48. In this way, the
track-related information for the track (i+3) overwrites the
track-related information for the track (i+1) in the second area
Track B. When the track related-information on the track (i+3) is
written into the second area Track B, the hard disk controller 46
sequentially reads the sector data to be written into the track
(i+3) from the buffer memory 62, generates the CRC code, adds the
CHS information and the CRC code to the sector data items read from
the buffer memory 62, and then sequentially transfers the results
to the work memory 52 in the read/write channel 42. When the
transfer of the sector data to be written into the track (i+3) to
the work memory 52 is finished, the read/write channel 42 starts to
encode the sector data in the work memory 52.
[0075] In S144, the micro controller 22 seeks the head 32 to the
next track (i+2).
[0076] By reversing the order of S142 and S144, the track-related
information for the second area Track B in the memory may be
updated after seeking is finished.
[0077] Subsequently, the encoded sector data for the track (i+2) is
written onto the disk 12 in a fashion similar to S136. Whether or
not the writing is finished is determined in a fashion similar to
S138. Whether or not all the encoded sector data for the track
(i+2) have been written onto the disk is determined in a fashion
similar to S140. When all the encoded sector data for the track
(i+2) have been written onto the disk, the track-related
information in one area Track in the memory 48 is updated in a
fashion similar to S142 and overwrites the track-related
information stored in the track (i+3). These process steps similar
to process steps S136, S138, S140, S142, and S 144 can be repeated
as appropriate.
Successive Writing
[0078] By the processing described above, the magnetic disk device
in the exemplary embodiments can successively write data to a first
track and then to a second track adjacent to the first track.
[0079] FIG. 6 illustrates the sector data transferred to the work
memory 52 in the read/write channel 42 from the buffer memory 62,
the encoded sector data written into the disk 12 from the work
memory 52 in the read/write channel 42, and a state of the
track-related information stored in the area Track A and the area
Track B in the memory 48 in the hard disk controller 46.
[0080] In S118 in FIG. 5, the track related information on the
track i (which is the write start track) is written into the area
Track A in the memory 48, and the track related information on the
track (i+1) is written into the area Track B in the memory 48. In
S124, the sector data in the track i and the sector data in the
track (i+1) are sequentially transferred to the work memory 52 in
the read/write channel 42 from the buffer memory 62. The CHS
information is also included in the sector data transferred to the
work memory 52. In the exemplary embodiments, the CHS information
in the track-related information stored in the area Track A and in
the area Track B in the memory 48 is added to the sector data
transferred to the work memory 52 in the read/write channel 42.
[0081] The sector data transferred to the work memory 52 are
sequentially encoded using the error correction code in S126. Once
the encoding of the first sector data is finished, the encoded
sector data in the track i begins to be sequentially written into
the disk 12 in S128.
[0082] At this time, the first area Track A in the memory 48 in the
hard disk controller 46 stores the track-related information on the
track i, and the second area Track B stores the track-related
information on the track (i+1). Therefore, while the encoded sector
data items in the track i are sequentially written onto the disk 12
in S128, it is possible to transfer the sector data in the track
(i+1) to the work memory 52 from the buffer memory 62. As described
above, while the encoded sector data items in the track i are
sequentially written onto the disk 12, it is possible to start to
encode the sector data items in the next track (i+1). Therefore,
the successive writing of sector data to multiple tracks can be
performed with high efficiency.
[0083] When all the encoded sector data items in the track i are
written into the disk 12, seeking the head 32 to the track (i+1) is
started in S134. When all the encoded sector data items in the
track i are written into the disk 12, the track-related information
for the track i becomes unnecessary, and the track-related
information in the first area Track A is updated to the
track-related information on the track (i+2).
[0084] The encoding of the sector data in the track (i+1) is
started when the sector data in the track (i+1) is transferred to
the work memory 52. Therefore, by the time seeking the head 32 to
the track (i+1) is finished, the encoding of the sector data in the
track (i+1) is also finished or at least partially finished.
Therefore, once the seeking is finished, the writing of the encoded
sector data in the track (i+1) to the disk 12 can be started in
S136. As described above, the writing of the encoded sector data to
a particular track on the disk 12 is immediately started when
seeking to that particular track is finished. Therefore, the
successive writing of encoded sector data over multiple tracks can
be performed with high efficiency.
[0085] More generally, while the encoded sector data in the track j
are written onto the disk 12, the memory 48 stores the track
related information items for the track j and for the track (j+1).
Therefore, encoding of the sector data in the tracks (j+1) and
(j+2) can be started while the encoded sector data in the track j
are written onto the disk 12. When all the encoded sector data in
the track j are written into the disk 12, seeking the track (j+1)
is started and the track-related information for the track j is
updated to the track-related information for the track (j+2).
Therefore, the successive writing over multiple tracks can be
performed with high efficiency.
[0086] By way of comparison, the successive writing of sector data
onto a plurality of tracks when memory 48 in the hard disk
controller 46 stores the track-related information for a single
track will be described referring to FIG. 7.
[0087] The track-related information is written into the area Track
in the memory 48 at a time prior to seeking the head to the track i
is started. The sector data in the track i is transferred to the
work memory 52 from the buffer memory 62, and encoding thereof is
started. After encoding, the encoded sector data in the track i are
written onto the disk 12. When all the encoded sector data in track
i are written onto the disk 12, the track-related information
stored in the area Track in the memory is updated to the track
related-information for the track (i+1), and the sector data in the
track (i+1) are transferred to the work memory 52 from the buffer
memory 62, and then, encoding is started. In addition, when all the
encoded sector data items in the track i are written onto the disk
12, seeking the track (i+1) is also started. After encoding and
seeking, the encoded sector data for the track (i+1) are written
onto the disk 12.
[0088] Thereafter, similarly, once all the encoded sector data
items in the track (i+1) are written onto the disk 12, updating of
the track-related information stored in the area Track in the
memory 48, the transferring of the sector data in the next track to
the work memory 52, and seeking are performed.
[0089] Since the disk 12 rotates, while the head 32 is moved (i.e.,
seeks) across the tracks by the voice coil motor 34, a sector
position of the head 32 changes as the head 32 moves over each
track. In order to compensate for this, the position of the first
sector is shifted in each track. The shift of the position of the
sector is referred to as "skew". If it is assumed that the memory
in the hard disk controller 46 includes the area storing the
track-related information for only one track, at the time writing,
seeking the next track cannot be started until the encoding of all
the sector data for one track to be written is finished and written
onto the disk 12. In addition, at the time of reading, when
encoding methods with high error correction ability are employed,
the decoding time is relatively long. Since skewing is dependent on
the maximum value of the decoding process time for all the data in
one track, when such encoding methods are employed, the skew
setting value increases and the speed for successively accessing a
plurality of tracks decreases.
[0090] According to the present exemplary embodiment, when the
encoded sector data for one track is transferred to the read/write
channel 42 from the disk 12, it is not necessary to estimate the
error correction decoding process time for setting the skew. This
is because in the present exemplary embodiment, seeking the head 32
to the next track can be started without waiting for completion of
the decoding process for the encoded sector data items. Therefore,
the skew setting value can be decreased, and thus, it is possible
to shorten the entire process when successively reading or writing
tracks.
[0091] Since the processing in the present exemplary embodiments
can be implemented by a computer program, it is possible to easily
realize the effects similar to those in the present exemplary
embodiments by installing such a computer program on an MPU
included in the read/write channel 43, the hard disk controller 46,
and/or the servo controller 44 through a computer-readable storage
medium storing the computer program, and by causing the MPU to
execute the computer program.
[0092] The present invention is not limited to the above-described
exemplary embodiments as it is, and configuration described herein
can be modified and embodied in practice without departing from the
scope thereof. In addition, in some embodiments, various inventions
can be formed by appropriately combining multiple embodiments or
elements thereof disclosed in the above exemplary embodiments. For
example, some elements may be deleted from the exemplary
embodiments. Furthermore, in some embodiments, the configuration
elements over different exemplary embodiments may be combined as
appropriate. Although LDPC encoding has been described as an
encoding method, other encoding methods may be used in some
embodiments. In addition, the content of the track-related
information is not limited to that in the above description, and
various modifications can be used in some embodiments.
[0093] While certain embodiments have been described, these
embodiments have been presented by way of example only, and are not
intended to limit the scope of the inventions. Indeed, the novel
embodiments described herein may be embodied in a variety of other
forms; furthermore, various omissions, substitutions, and changes
in the form of the embodiments described herein may be made without
departing from the scope of the inventions. The accompanying claims
and their equivalents are intended to cover such forms or
modifications as would fall within the scope and spirit of the
inventions.
* * * * *