WO2005124529A1 - ストレージディスクに対するデータリード方法、データライト方法、及びストレージディスク制御装置 - Google Patents

ストレージディスクに対するデータリード方法、データライト方法、及びストレージディスク制御装置 Download PDF

Info

Publication number
WO2005124529A1
WO2005124529A1 PCT/JP2005/011394 JP2005011394W WO2005124529A1 WO 2005124529 A1 WO2005124529 A1 WO 2005124529A1 JP 2005011394 W JP2005011394 W JP 2005011394W WO 2005124529 A1 WO2005124529 A1 WO 2005124529A1
Authority
WO
WIPO (PCT)
Prior art keywords
sector
data
buffer
read
storage disk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2005/011394
Other languages
English (en)
French (fr)
Inventor
Hidemichi Mizuno
Shiro Eshita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rohm Co Ltd
Original Assignee
Rohm Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rohm Co Ltd filed Critical Rohm Co Ltd
Priority to US10/595,224 priority Critical patent/US7797482B2/en
Priority to JP2006514845A priority patent/JPWO2005124529A1/ja
Publication of WO2005124529A1 publication Critical patent/WO2005124529A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/10722Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control wherein the size of the buffer is variable, e.g. by adding additional memory cells for coping with input streams that have high bit rates
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data

Definitions

  • the present invention relates to a data reading method and a data writing method for a storage disk drive such as an FDD (flexible 'disk' drive) using serial data transfer means such as a USB (universal 'serial' bus) and the like.
  • a storage disk drive such as an FDD (flexible 'disk' drive) using serial data transfer means such as a USB (universal 'serial' bus) and the like.
  • serial data transfer means such as a USB (universal 'serial' bus) and the like.
  • USB universal 'serial' bus
  • USB-FDD USB-connected FDD (flexible disk drive) device
  • the data of N sectors from the first sector (sector number 1) to the last sector (sector number N) of the track is read in sector order.
  • Data is sent out via USB in sector order.
  • the rotation position of the FD is rarely at the position of the head which can be read from the data of the first sector. Therefore, usually, a rotation wait time occurs until the FD rotates to a position where the data of the first sector can be read.
  • the data from sector number 1 to sector number N of the relevant track is sequentially read.
  • the read data is temporarily stored in the buffer RAM in the USB-FDD device, and then It is sent to an external host computer via SB.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2004-010310.
  • the present invention provides a data read method and a data write method in a storage disk drive such as an FDD using serial data transfer means such as a USB, and a read / write in the storage disk drive.
  • the purpose is to reduce the size of the RAM buffer while performing high-speed operations according to the usage conditions. To do.
  • Another object is to make it possible to adjust the area of the RAM buffer used for reading / writing the data according to the usage conditions and the necessity of other uses. Disclosure of the invention
  • a data reading method for a storage disk according to the present invention is a method for reading data of a plurality of N sectors of a storage disk using a storage disk drive including serial data transfer means and buffer means.
  • a storage disk drive including serial data transfer means and buffer means.
  • the shared buffer area of the buffer means corresponds to a predetermined K-th (K ⁇ N) sector from the first sector, and the K + 1-th to N-th sectors correspond to the aforementioned buffer means.
  • the individual buffer areas are set to correspond to each other, and the following processing i to processing iv,
  • Process i determining the next sector to be read based on the rotational position of the storage disk
  • Processing i i i storing the data of the read sector in the corresponding buffer area; processing iv; setting a flag indicating data non-processing to the sector in which the data is stored;
  • step V the next step V to step vi,
  • Process V transferring data from the sector to the outside from the corresponding buffer area via the serial data transfer means, on condition that the flag is set, in the order of the sector number from the first sector,
  • the next sector to be read in the processing i is the storage sector at the beginning of the data read.
  • the rotational position of the disk is from sector 1 to sector K, it is sector K + 1, and when the rotational position is from sector K on, it is the sector in the next order of the sector. I do.
  • the data of the read sector when storing the data of the sector in the process iii in the buffer area, at the beginning of the data read, the data of the read sector is replaced by the first to sector sectors.
  • the data is the Kth sector data
  • the data is not stored in the buffer area, but is sequentially stored in the corresponding buffer area from the (K + 1) th sector data.
  • the next read sector in the process i is the next read sector at the beginning of the data read regardless of the sector number of the rotational position of the storage disk.
  • the data is sequentially stored in the corresponding buffer area regardless of the sector number of the read sector. It is characterized by the following.
  • the sector to be read next in the process i is the next sector after the sector at the rotational position of the storage disk, and the process iv
  • the flag in the above if the sector is from the first sector to the predetermined Kth sector, the flag of the other sector corresponding to the same buffer area is cleared.
  • the shared buffer area is two or more buffer areas used as a ring buffer.
  • a data write method for a storage disk uses a storage disk drive including a serial data transfer unit and a buffer unit to write data to a plurality of N sectors of the storage disk.
  • a storage disk drive including a serial data transfer unit and a buffer unit to write data to a plurality of N sectors of the storage disk.
  • the buffer means for the predetermined Jth (J * N) sectors from the first sector The individual buffer areas correspond to each other, and the common buffer area of the buffer means is set to correspond to the J + 1st to Nth sectors, and the next processing is performed according to the write request. Vi i through processing Vi ii,
  • Processing Vi i Stores data transferred from the outside via the serial data transfer means in the corresponding buffer area, provided that the flag indicating data not processed is cleared in the order of the sector number from the first sector.
  • Processing ix determining the next sector to write based on the rotational position of the storage disk
  • Processing X storage is performed on condition that the flag of the determined sector is set.
  • Processing xi clearing the flag for the sector to which data has been written, is repeatedly executed.
  • the sector to be written next in the process ix is a sector in the next order to the sector at the rotation position of the storage disk. I do.
  • the shared buffer area is two or more buffer areas used as a ring buffer.
  • the storage disk control device of the present invention comprises a serial data transfer means USBC 11, a buffer means 15, a storage disk control means FDC 16 and FDD 17, and a plurality of N sectors.
  • the buffer management table is stored in the shared buffer area of the buffer means corresponding to a predetermined K-th (K ⁇ N) sector from the first sector, and K + 1 to N-th sectors Are set so that individual buffer areas of the buffer means correspond to each other,
  • the next sector to be read is determined based on the rotational position of the storage disk (process i), and the data of the determined sector is read (process ii;).
  • the data of the read sector is stored in the corresponding buffer area (process iii), and a flag indicating that data is not processed is set for the sector where the data is stored (process iv).
  • the process is repeatedly executed.
  • the buffer management table indicates that the individual buffer areas of the buffer means correspond to predetermined J-th (J ⁇ N) sectors from the first sector, respectively, and the J + 1 to N-th A shared buffer area of the buffer means is set to correspond to the second sector,
  • the data transferred from the outside via the serial data transfer means is applicable, provided that the flag indicating data not processed is cleared in the order of the sector number from the first sector.
  • the data is stored in the buffer area (Process Vi i), and a flag indicating data unprocessed is set for the sector where the data is stored (Process Vi ii).
  • the next sector to be written is determined based on the rotational position of the storage disk (process ix), and the flag of the determined sector is set.
  • the flag for the sector to which data is written is cleared (processing xi;), and the processing is repeated. It is characterized by executing.
  • the buffer area (number) of the buffer means used for data transfer at the time of data reading and data writing can be expanded and contracted, so that the buffer means (RAM buffer) can be used without changing the hardware configuration.
  • a system that takes into account the trade-off between storage capacity and speed performance can be constructed.
  • the storage disk control device of the present invention typically represented by a USB-FDD device, is capable of supporting storage disks of various formats, and has the speed performance required by each format. And the amount of buffer used is different. According to the present invention, the management of the buffer means can be adaptively changed so that the maximum performance can be obtained for each format.
  • the available buffer space (number) When the available buffer space (number) is limited, it can be used up to the limited capacity to get maximum performance with limited buffer resources. If the speed performance is not so required, the buffer area (number) used as the buffer means is reduced, and the remaining buffer area can be used for other purposes. It also saves buffer resources (hardware RAM).
  • FIG. 1 is a diagram showing a configuration of a USB-FDD device 10 according to the present invention.
  • FIG. 2 is a diagram showing the structure of a buffer management table used at the time of reading.
  • FIG. 3 is a diagram showing the correspondence between the buffer area numbers and the sector numbers in FIG.
  • FIG. 4 is a flowchart for explaining processing at the time of reading.
  • FIG. 5 is a diagram showing the structure of a buffer management table used at the time of writing.
  • FIG. 6 is a diagram showing the correspondence between the buffer area numbers and the sector numbers in FIG.
  • FIG. 7 is a flowchart for explaining processing at the time of writing.
  • a data read method, a data write method, and a data storage method for a storage disk drive such as an FDD (flexible disk drive) using serial data transfer means such as a USB (universal 'serial' bus) are described.
  • An embodiment of the storage disk drive device will be described with reference to the drawings. In this embodiment, a case will be described in which a USB is used as serial data transfer means, an FD is used as a storage disk, and a RAM having a required buffer area is used as a buffer means. Not limited to this example, those equivalent to these can be used.
  • FIG. 1 is a diagram showing a configuration of a USB-FDD device 10 according to the present invention.
  • the USB-FDD device 10 of the present invention includes a USB controller (hereinafter referred to as USBC) 11 for performing USB communication via a USB bus 12 and an FD as FD control means for performing read / write of the FD.
  • a CPU 14 that executes the program.
  • the FD data is read / written at a high speed according to the use condition, and the capacity of the RAM 15 required as a buffer means used for the read Z write of the data is reduced. I do. Also, the buffer area of RAM 15 is used And adjust it to suit the needs of other applications. In order to perform such processing, a buffer management table is provided.
  • This buffer management table indicates which buffer area corresponds to a sector, that multiple sectors may use the same buffer area (a shared buffer area), Provide a flag to indicate that there is unprocessed data.
  • the number of sectors that use the shared buffer area can be changed according to the RAM capacity that can be used as the buffer means. It has some or all of the functions, such as being changeable.
  • This buffer management table is stored in, for example, firmware ROM 13 and is read out to RAM 15 under the control of CPU 14. Further, the buffer management table may be realized by hardware using another device, for example.
  • FIG. 2 is a diagram showing a structure of a buffer management table used at the time of reading.
  • sector numbers 1 to N are assigned to a plurality of N sectors.
  • the numbers A to R of the buffer areas corresponding to the sectors 1 to N are given.
  • the plurality N is, for example, 256, and the number of buffer areas is set, for example, to a ratio of 50% to 90%, preferably about 75% of N.
  • the number of the plurality N and the ratio of the number of buffer areas to the number are changed as necessary.
  • the common buffer areas A and B of the RAMI 5, which is the buffer means, are set to correspond to the predetermined Kth (K ⁇ N) sectors (sector 6 in this example) from the first sector 1. ing. Also, the individual buffer areas of the RAM 15 are set to correspond to the K + 1st (sector 7 in this example) to Nth sectors, respectively.
  • the shared buffer areas A and B operate as a ring buffer using a buffer area for two sectors. That is, the data read by the FDC 16 is stored in the buffer area A, and the data stored in the buffer area B is transmitted by the USBC 11 at the same time. In this operation, the data in sectors 1 to 6 is transmitted while exchanging the shared buffer areas A and B. Note that the description will be made assuming that two areas are used as the shared buffer area. However, three or more buffer areas may be used as the shared buffer area.
  • the pending flag is set when FDC 16 has read the data, but the USB 11 has not yet transmitted the data. That is, the flag “1” is set.
  • the unprocessed flags shown in FIG. 2 are set in the sectors 7 to N corresponding to the individual buffer areas C to R, and are set in the sectors 1 to 6 corresponding to the shared buffer areas A and B. This illustrates a situation where the flag is cleared.
  • FIG. 3 is a diagram showing the relationship between the sector numbers 1 to N and the buffer area numbers A to R in FIG. 2 as viewed from the buffer area numbers A to R.
  • Buffer areas A and B are shared by sectors 1 to 6, and buffer areas C to R individually correspond to sectors 7 to N.
  • FIG. 4 is a flowchart for explaining processing at the time of reading.
  • a read request is generated (step S100)
  • the head is moved to the target track of the FD.
  • the USBC processing is started (step S120).
  • step S111 the rotational position of the FD with respect to the head position of the FD17 is obtained by, for example, issuing an ID command.
  • the next sector to read is determined based on the rotation position of this FD.
  • the “next sector to be read” is the next sector in the sector at the FD rotation position in order to read the data from the beginning of the sector without omission.
  • step S112 the data of the determined sector is read.
  • step S113 the data of the read sector is stored in the corresponding buffer area. To pay.
  • the storage destination buffer area follows the buffer management table in Figure 2.
  • step S114 a flag indicating unprocessed data is set for the sector in which data is stored.
  • this flag is set, if the sector is the sector from the first sector to the predetermined Kth sector, the flags of other sectors corresponding to the same buffer area are cleared. That is, if the buffer area storing the data of the sector is the shared buffer area A (or B), the data of the sector overwrites the previous data in the shared buffer area A (or B). And stored. Therefore, the overwritten data (data of the other sector) is not transmitted, and the flag for the data of the other sector is cleared.
  • step S111 to S114 The FDC processing of steps S111 to S114 is repeatedly performed until it is confirmed in step S115 that the USBC processing has been completed.
  • the ⁇ next sector to be read '' in step S111 is, at the beginning of the data read, the sector K + 1 when the rotational position of the FD is from sector 1 to sector K, If the rotational position is after the Kth sector, it may be the next sector in the sector.
  • the data of the read sector is stored in the first to Kth sectors. If the data is not stored in the buffer area, the data may not be stored in the buffer area, but may be stored sequentially in the corresponding buffer area from the (K + 1) th sector data.
  • a sector variable I indicating a sector number is set to "1". This is because the sector data to be transferred from USB 11 to USB 12 must be transferred in ascending order of the sector numbers, that is, in order from sector 1 to the sector number.
  • the sector of the sector variable I is simply referred to as sector I.
  • step S122 it is determined whether or not the flag of sector I is "1". If the flag is not "1", the process waits until "1" is set. If the flag is determined to be “1”, it means that the data of that sector has been read by FDC 16, but that USB C 11 has not yet transmitted.
  • step S123 the data of sector I is transmitted, and the flag of sector I is cleared (that is, "0") (step S124). Subsequently, in step S125, the sector variable I is set to "I + 1".
  • step S126 it is determined whether or not the sector variable I becomes "N + 1". Until the sector variable I becomes “N + 1”, the processing of steps S122 to S125 is repeatedly performed. When the sector variable I becomes “N + 1”, it means that the data of all the sectors 1 N of the relevant track has been transferred to the USB 12, and the USBBC processing ends (step S 127). Also, in step S115, the FDC process ends upon completion of the USBC process (step S116).
  • the next sector to be read is determined based on the rotational position of the FD, and data is stored in the buffer area corresponding to the sector.
  • the rotation position of the FD is in the first sector to the Kth sector (that is, corresponding to the shared buffer area)
  • the data in the sector between them is read twice. I do not read force or the first time.
  • the USBC process as in Patent Document 1 and the like, the data in the first sector is transferred to the USB 12. Therefore, a slight time delay occurs in principle as compared with Patent Document 1.
  • USB data transfer speed including conditions such as sharing with other devices, processing speed (conditions such as sharing with other devices), and the number of sectors corresponding to the shared buffer area must be set appropriately. Accordingly, the present invention can be expected to obtain substantially the same speed performance as that of Patent Document 1 having a buffer area for all sectors at the time of reading.
  • FIG. 5 is a diagram showing the structure of a buffer management table used at the time of writing, and is basically the same as the buffer management table used at the time of reading of FIG.
  • the structure is such that the data can be efficiently received.
  • the shared buffer areas Q and R in the RAM 5 are set so as to correspond to the N-th to N-th sectors.
  • the shared buffer areas Q and R operate as a ring buffer using a buffer area for two sectors. That is, the data received by the USBC 11 is stored in the buffer area Q, and at the same time, the data stored in the buffer area R is written to the FD by the FDC 16 and the FDD 17. This operation writes data in sectors N-5 to N while exchanging the shared buffer areas Q and R.
  • the pending flag is set when USBC11 has received but FDC16 and FDD17 have not yet written. That is, the flag “1” is set.
  • Na The unprocessed flags shown in FIG. 5 are assigned to sectors 1 to .N-6 corresponding to the individual buffer areas A to P and sectors N-5 to N-4 corresponding to the shared buffer areas Q and R. An example is shown in which a lag is set and flags in sectors N-3 to N corresponding to the shared buffer areas A and B are cleared.
  • the correspondence between the sector number and the buffer area number is in a form in which one of the numbers is reversed as compared with the correspondence in FIG. Therefore, as shown in parentheses in the buffer area number column in FIG. 5, it is preferable that the correspondence shown in FIG. 2 be inverted. In this way, by making the correspondence inverted, it becomes easy to manage the buffer management table between data reading and data writing.
  • FIG. 6 is a diagram showing the relationship between the sector numbers 1 to N and the buffer area numbers A to R in FIG. 5 as viewed from the buffer area numbers A to R.
  • the buffer areas Q and R are shared by sectors N to N-5, and the buffer areas A to P individually correspond to sectors 1 to N-6.
  • FIG. 7 is a flowchart for explaining processing at the time of writing.
  • a light request is generated (step S200)
  • the head is moved to a target track of the FD.
  • the FDC process is started (step S220).
  • step S211 the sector variable I indicating the sector number is set to "1". This is because the sector data transferred from the USB 12 to the USB 11 and received is received in ascending order of the sector numbers, that is, in order from the sector 1 to the sector number. This is because this transfer and reception are performed quickly and efficiently.
  • the sector of the sector variable I is simply referred to as sector I.
  • step S212 it is determined whether or not the flag of the shared buffer of sector I is "0".
  • the flow proceeds to step S213. If the flag is not "0", it will wait until it is cleared to "0". However, since the buffer management table has the structure shown in FIG. 5, there is no need to wait for sector numbers 1 to N_4. The flag may be determined to be "1" for sector number N-3 or later. So, in that case, you have to wait.
  • step S213 the data of sector I is received and stored in the corresponding buffer area. Then, in step S2114, the flag of sector I is set (that is, "1"). Subsequently, in step S215, the sector variable I is set to "1 + 1".
  • step S216 it is determined whether or not the sector variable I force S has reached "N + 1".
  • the process from step S212 to step S215 is repeatedly performed until the sector variable I becomes "N + 1".
  • the sector variable I becomes “N + 1” the data of all sectors 1 to N of the relevant track has been stored in the corresponding buffer area, and the USBC processing ends (step S2 17). .
  • step S221 the rotational position of the FD with respect to the head position of the FD17 is obtained by, for example, issuing an ID command.
  • the next sector to be written is determined based on the rotational position of the FD.
  • the “next sector to write” is the sector in the next order after the sector with the FD rotation position to write all the received data.
  • step S222 it is determined whether the flag of the determined sector is "1". If the flag of the sector is not "1", the flow returns to step S221 to determine the flag "1" of the next write sector which proceeds (updates) with the rotation of the FD.
  • step S222 If it is determined in step S222 that the flag is "1”, data is written to the sector in step S223. Then, in step S224, the flag of the buffer area corresponding to the written sector is cleared to "0".
  • the FDC processing in steps S221 to S224 is repeatedly performed until it is confirmed in step S225 that the data write processing for all sectors is completed.
  • the FDC processing ends (step S226).
  • the data received by the USBC may be directly transferred to the FDC without being stored in the RAM 15 serving as the buffer means. As a result, the time required for the writing process is reduced.
  • the USB12 receives the data from the first sector in the order of the sectors.
  • the FDC process is started at the same time as the USBC process.However, depending on the rotation position of the FD, data for that sector has not been received yet in the ⁇ next write sector '', that is, stored in the corresponding buffer area. There are cases that are not. Therefore, a slight time delay occurs in principle compared to Patent Document 1.
  • properly set the USB data transfer speed and processing speed including conditions such as sharing with other devices (conditions such as sharing with other devices) and the number of sectors corresponding to the shared buffer area.
  • the present invention can also be expected to obtain substantially the same speed performance as that of Patent Document 1 having a buffer area for all sectors even during writing.
  • the buffer area (number) of the buffer means 15 used for data transfer at the time of data reading and data writing is expanded and contracted. This makes it possible to construct a system that takes into account the trade-off between the storage capacity of the buffer means (RAM buffer) and the speed performance without changing the hardware configuration.
  • the USB-FDD device 10 since the USB-FDD device 10 generally supports FDs of various formats, the speed performance required for each format and the buffer capacity used are different.
  • the management of the buffer means 15 is adaptively changed so that the maximum performance can be obtained for each format.
  • the maximum performance can be obtained with limited buffer resources by using up to the limited capacity.
  • the buffer area (number N) used as the buffer means is reduced.
  • the remaining buffer area (the area of the RAM capacity not used as a buffer means) can be used for other purposes. Also, buffer resources (hardware RAM) can be saved. Industrial applicability
  • a data read method, a data write method, and a storage disk control device for a storage disk according to the present invention include a read / write method for a storage disk drive such as an FDD using serial data transfer means such as a USB. It is possible to reduce the size of the RAM buffer while performing high-speed processing according to the usage conditions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

セクタに対して対応するバッファ領域がどれかを示すバッファ管理用テーブルを設ける。このテーブルによって、バッファ手段(RAM)に、複数のセクタが同じバッファ領域を使用する共有バッファ領域と、セクタが個々に対応する個別のバッファ領域とを設定する。そして、各セクタにデータの処理状況を示すフラグを設ける。これにより、USB−FDDのリード/ライトを使用状況に合わせて高速に行うと共に、RAMバッファの容量を少なくする。また、そのデータのリード/ライトに使用するRAMバッファの領域を、使用状況や他用途の必要度に合わせて、調節可能にする。

Description

明細書 ス トレージディスクに対するデータリード方法、 データライ ト方法、 及びス トレージディスク制御装置 技術分野
本発明は、 U S B (ユニバーサル ' シリアル ' バス) 等のシリアルデータ転送 手段を用いた FDD (フレキシブル 'ディスク ' ドライブ) 等のス トレ一ジディ スク駆動装置におけるデータリード方法、 データライ ト方法、 及びそのス トレー ジディスク ドライブ装置に関する。 背景技術
従来から、 FD (フレキシブル · ディスク) のデータの読み取り (以下、 リー ド) や書き込み (以下、 ライ ト) には、 U S B接続の FDD (フレキシブル ' デ イスク · ドライブ) 装置 (以下、 US B— FDD装置) が多く用いられている。 この US B— FDD装置では、 データのリード /ライ トを行う場合は、 まず、 FDの目標とする トラックにへッ ドを移動させる。
そして、 データ · リードを行う場合には、 当該トラックの先頭のセクタ (セク タ番号 1) から最終のセクタ (セクタ番号 N) までの N個のセクタのデ一タをセ クタ順に読みと り、 U S Bを通してデータをセクタ順に送出する。 この場合に、 F Dの回転位置は、 先頭セクタのデータからリ一ドできるへッ ドの位置にあるこ とは希である。 従って、 通常は、 先頭セクタのデータが読み出せる位置に FDが 回転してくるまで、 回転待ち時間が発生する。
先頭セクタのデータが読み出せる位置に F Dが回転してきた時から、 当該トラ ックのセクタ番号 1からセクタ番号 Nまでのデータを順次読み出す。 読み出され たデータは、 US B— FDD装置内のバッファ RAMに一時記憶され、 その後 U S Bを介して外部のホス ト · コンピュータ等に送出される。
また、 データ · ライ トを行う場合には、 先頭セクタにデータが書き込める位置 まで F Dが回転してくるのを待つ。 そして、 その位置まで F Dが回転すると、 外 部のホス ト - コンピュータ等から送られて U S B- F DD装置内のバッファ R A Mに一時記憶されているデータを、 当該トラックの先頭のセクタ (セクタ番号 1 ) から最終のセクタ (セクタ番号 N) までの N個のセクタへセクタ順に書き込む。 このデータのリード /ライ ト方法では、 トラックの先頭セクタからリードし、 またライ トするから、 先頭セクタのデータ処理が可能になるまで回転待ちが発生 してしまう。 従って、 リード Zライ ト処理にその回転待ちの分だけ時間遅延が発 生してしまう。
この回転待ちに伴う時間遅延を解消するために、 へッ ド上に位置する FDのセ クタ番号をリード/ライ ト処理に先行して読み取り、 そのセクタ番号の次のセク タからリ一ド /ライ トを行うようにする方法が、 特許文献 1 :特開 2 004 _ 1 0 3 1 0 3号公報、 に提案されている。
特許文献 1のリード/ライ ト方法では、 リード/ライ ト処理に要する時間は短 くなるが、 実際にリ一ド ライ ト処理するセクタ順が、 FDの回転位置に依存し て、 番号順にはならず前後してしまう。 一方、 US B— FDD装置とデータのや り取りを行うホス トコンピュータは常に、 セクタ番号順のデータを要求する。 し たがって、 基本的に 1 トラック分 (FD 1回転分) のデータを格納する記憶容量 を持っている RAMがバッファと して必要となる。 U S B— FDD装置は、 高速 化と同時に小型化、 低価格が求められているので、 RAMバッファの容量が大き くなることは好ましくなレ、。
そこで、 本発明は、 US B等のシリアルデータ転送手段を用いた FDD等のス トレージディスク駆動装置におけるデータリード方法、 データライ ト方法、 及び そのス トレージディスク ドライブ装置において、 そのリード/ライ トを使用状況 に合わせて高速に行うと共に、 RAMバッファの容量を少なくすることを目的と する。 また、 そのデータのリード/ライ トに使用する R AMバッファの領域を、 使用状況や他用途の必要度に合わせて、 調節可能にすることを目的とする。 発明の開示
本発明のス トレ一ジディスクのデータリード方法は、 シリアルデータ転送手段 とバッファ手段を含むス トレ一ジディスク駆動装置を用いてス トレージディスク の複数 N個のセクタのデータをリ一ドするデ一タリ一ド方法において、
先頭のセクタから所定 K番目 (K < N ) のセクタに対して前記バッファ手段の うちの共有のバッファ領域が対応し、 K + 1番目乃至 N番目のセクタに対して前 記バッファ手段のうちの個別のバッファ領域がそれぞれ対応するように設定し、 リ一ド要求に応じて次の処理 i乃至処理 iv、
処理 i ; ス トレージディスクの回転位置に基づいて次にリ一ドするセクタを決定 する、
処理 i i ; 決定されたセクタのデータをリ一ドする、
処理 i i i ; リ一ドされたセクタのデータを対応するバッファ領域へ格納する、 処理 iv; データが格納されたセクタに対して、 データ未処理を示すフラグをセッ トする、
を繰り返して実行すると共に、
同じく リ一ド要求に応じて次のステップ V乃至ステップ v i、
処理 V;先頭セクタからセクタ番号順に、 前記フラグがセッ トされていることを条 件に当該セクタからのデータを該当するバッファ領域から前記シリアルデータ転 送手段を介して外部へ転送する、
処理 v i ; データが転送されたセクタのフラグをクリアする、
を繰り返して実行することを特徴とする。
また、 そのス トレージディスクのデータリード方法において、 前記処理 iにお ける次にリードするセクタは、 データリードの当初においては、 ス トレ一ジディ スクの回転位置がセクタ 1番目乃至セクタ K番目にあるときはセクタ K + 1番目 であり、 その回転位置がセクタ K番目以降にあるときは当該セクタの次の順番の セクタであることを特徴とする。
また、 そのス トレージディスクのデータリード方法において、 前記処理 i i i に おけるセクタのデータをバッファ領域へ格納するに際し、 データリードの当初に おいては、 リードされたセクタのデータが、 セクタ 1番目乃至セクタ K番目のセ クタのデータであるときにはバッファ領域に格納せず、 K + 1番目以降のセクタ データから対応するバッファ領域に順次格納することを特徴とする。
また、 そのス トレージディスクのデータリード方法において、 前記処理 i にお ける次のリードセクタは、 データリードの当初においては、 ス トレ一ジディスク の回転位置のセクタ番号に関わらず、 当該セクタの次の順番のセクタであり、 且 つ前記処理 i i i におけるセクタのデータをバッファ領域へ格納するに際し、 デー タリードの当初においては、 リードされたセクタのセクタ番号に関わらず、 対応 するバッファ領域に順次格納することを特徴とする。
また、 そのス トレ一ジディスクのデータリード方法において、 前記処理 iにお ける次にリ一ドするセクタは、 ス トレージディスクの回転位置のセクタの次の順 番のセクタであり、 前記処理 ivにおけるフラグをセッ トする際に、 そのセクタが 先頭のセクタから所定 K番目までのセクタである場合には、 同じバッファ領域に 対応する他のセクタのフラグをクリアすることを特徴とする。
また、 そのス トレ一ジディスクのデータリード方法において、 前記共有のバッ ファ領域は、 リングバッファとして使用される 2つ以上のバッファ領域であるこ とを特徴とする。
本発明のス トレージディスクのデータライ ト方法は、 シリアルデータ転送手段 とバッファ手段を含むス トレ一ジディスク駆動装置を用いてス トレージディスク の複数 N個のセクタへデータをライ 卜するデータライ ト方法において、
先頭のセクタから所定 J番目 ( Jく N ) のセクタに対して前記バッファ手段の うちの個別のバッファ領域がそれぞれ対応し、 J + 1番目乃至 N番目のセクタに 対して前記バッファ手段のうちの共有のバッファ領域が対応するように設定し、 ライ ト要求に応じて次の処理 Vi i乃至処理 Vi i i、
処理 Vi i;先頭セクタからセクタ番号順に、 データ未処理を示すフラグがクリアさ れていることを条件に、 前記シリアルデータ転送手段を介して外部から転送され たデータを該当するバッファ領域へ格納する、
処理 Vi i i ;データが格納されたセクタに対して、 データ未処理を示すフラグをセ ッ 卜する、
を繰り返して実行すると共に、
同じくライ ト要求に応じて次の処理 ix乃至処理 xi、
処理 ix; ス トレージディスクの回転位置に基づいて次にライ トするセクタを決定 する、
処理 X;決定されたセクタの前記フラグがセッ 卜されていることを条件に、 ス トレ
—ジディスクの当該セクタにデータをライ トする、
処理 xi ; データがライ 卜されたセクタに対する前記フラグをクリアする、 を繰り返して実行することを特徴とする。
また、 そのス トレージディスクのデータライ ト方法において、 前記処理 ixにお ける次にライ 卜するセクタは、 ス トレ一ジディスクの回転位置にあるセクタの次 の順番のセクタであることを特徴とする。
また、 そのス トレ一ジディスクのデータライ ト方法において、 前記共有のバッ ファ領域は、 リングバッファとして使用される 2つ以上のバッファ領域であるこ とを特徴とする。
本発明のス トレ一ジディスク制御装置は、 シリアルデータ転送手段 U S B C 1 1 と、 ノくッファ手段 1 5と、 ス トレ一ジディスク制御手段 F D C 1 6、 F D D 1 7と、 複数 N個のセクタからなるセクタ群と共有及び個別対応のバッファ領域か らなるバッファ領域群とを対応させるバッファ管理テーブルと、 これらのシリア ルデータ転送手段 U S B C 1 1乃至バッファ管理テーブルの各々と結合され且つ それらの制御を司る C P U 1 4を含み、
データリード時には、 前記バッファ管理テーブルを、 先頭のセクタから所定 K 番目 (K < N ) のセクタに対して前記バッファ手段のうちの共有のバッファ領域 が対応し、 K + 1番目乃至 N番目のセクタに対して前記バッファ手段のうちの個 別のバッファ領域がそれぞれ対応するように設定し、
リ一ド要求に応じて、 ス トレ一ジディスクの回転位置に基づいて次にリ一ドす るセクタを決定し (処理 i )、 決定されたセクタのデータをリードし (処理 i i;)、 リードされたセクタのデータを対応するバッファ領域へ格納し (処理 i i i)、 デ一 タが格納されたセクタに対してデータ未処理を示すフラグをセッ 卜する(処理 iv) 処理を、 繰り返して実行すると共に、
同じく リード要求に応じて、 先頭セクタからセクタ番号順に、 前記フラグがセ ッ トされていることを条件に当該セクタからのデータを該当するバッファ領域か ら前記シリ アルデータ転送手段を介して外部へ転送し (処理 v)、 データが転送さ れたセクタのフラグをクリアする (処理 V) 処理を、 繰り返して実行し、
デ一タライ ト時には、 前記バッファ管理テーブルを、 先頭のセクタから所定 J 番目 ( Jく N ) のセクタに対して前記バッファ手段のうちの個別のバッファ領域 がそれぞれ対応し、 J + 1番目乃至 N番目のセクタに対して前記バッファ手段の うちの共有のバッファ領域が対応するように設定し、
ライ ト要求に応じて、 先頭セクタからセクタ番号順に、 データ未処理を示すフ ラグがクリアされていることを条件に、 前記シリ アルデータ転送手段を介して外 部から転送されたデータを該当するバッファ領域へ格納し (処理 Vi i:)、 データが 格納されたセクタに対して、データ未処理を示すフラグをセッ トする(処理 Vi i i)、 処理を繰り返して実行すると共に、
同じく ライ ト要求に応じて、 ス トレージディスクの回転位置に基づいて次にラ ィ 卜するセクタを決定し (処理 ix)、 決定されたセクタの前記フラグがセッ 卜され ていることを条件に、 ス トレ一ジディスクの当該セクタにデータをライ トし (処 理 x)、データがライ トされたセクタに対する前記フラグをクリァする (処理 xi;)、 処理を繰り返して実行することを特徴とする。
また、 そのス トレージディスク制御装置において、 前記 K番目、 前記 J番目及 び前記複数 N個は、 J = N— K、 になるように、 設定されていることを特徴とす る。
本発明によれば、 データリード時、 データライ ト時のデータ転送に用いるバッ ファ手段のバッファ領域 (数) を伸縮することができるので、 ハードウェア構成 を変えることなく、 バッファ手段 (R A Mバッファ) の記憶容量と速度性能のト レードオフを考慮したシステムを構築できる。
また、 シリアルデータ転送手段の転送速度や、 他装置の使用状況にもよるが、 全セクタ分のバッファ領域を持つ特許文献 1のものと比して、 実質的に同程度の 速度性能を得ることも期待できる。
また、 一般に U S B一 F D D装置に代表される本発明のス トレ一ジディスク制 御装置は、 種々のフォーマッ トのス トレージディスクに対応できるようになって おり、 各フォーマッ トによって要求される速度性能も、 使用されるバッファ容量 も異なる。 本発明では、 各フォーマッ トに対して最大の性能が出せるようにバッ ファ手段の管理を適応的に変えていく ことができる。
使用できるバッファ領域 (数) が制限される場合に、 制限された容量まで一杯 に使用して限られたバッファ資源で最大の性能を引き出せる。 また、 速度性能が さほど要求されない場合には、 バッファ手段として使用するバッファ領域 (数) を少なく し、 残余のバッファ領域は他の用途に使用できる。 また、 バッファ資源 (ハードウェア R AM) を節約できる。 図面の簡単な説明
図 1は、 本発明に係る U S B - F D D装置 1 0の構成を示す図である。 図 2は、 リード時に使用するバッファ管理テーブルの構造を示す図である 図 3は、 図 2のバッファ領域番号とセクタ番号との対応関係を示す図である。 図 4は、 リード時の処理を説明するフローチャートである。
図 5は、 ライ ト時に使用するバッファ管理テーブルの構造を示す図である。 図 6は、 図 5のバッファ領域番号とセクタ番号との対応関係を示す図である。 図 7は、 ライ ト時の処理を説明するフローチャートである。 発明を実施するための最良の形態
以下、 本発明の U S B (ユニバーサル ' シリアル 'バス) 等のシリアルデータ 転送手段を用いた FDD (フレキシブル · ディスク - ドライブ) 等のス トレ一ジ ディスク駆動装置におけるデータリード方法、 データライ ト方法、 及びそのス ト レ一ジディスク ドライブ装置の実施例について、 図を参照して説明する。 この実 施例では、 シリアルデータ転送手段と して U S Bを、 ス トレ一ジディスクと して FDを、 且つバッファ手段と して所要のバッファ領域を持つ RAMを、 それぞれ 用いた場合について説明する。 この例示に限らず、 これらのものと同等のものが 使用できる。
図 1は、 本発明に係る U S B— F DD装置 1 0の構成を示す図である。 本発明 の U S B— F DD装置 1 0は、 U S Bバス 1 2を介して U S B通信を行う U S B コン トローラ (以下、 U S B C) 1 1 と、 FDのリー ド · ライ トを行う FD制御 手段である FDコントロ一ラ (以下、 FDC) 1 6及び FDD 1 7と、 プロダラ ムを格納するファームウェア ROM 1 3と、 バッファ手段としての複数のバッフ ァ領域を有する RAM 1 5と、 これらの各構成要素の制御を司り、 プログラムを 実行する C PU 1 4を有している。
本発明では、 FDのデータのリード/ライ トを使用状況に合わせて高速に行う と共に、 そのデータのリ一ド Zライ トに使用するバッファ手段と して必要な RA M 1 5の容量を少なくする。 また、 その RAM 1 5のバッファ領域を、 使用状況 や他用途の必要度に合わせて、 調節可能にする。 このような処理を行うために、 バッファ管理用テーブルを設けている。
このバッファ管理用テーブルは、 セクタに対して対応するバッファ領域がどれ かを示すこと、 複数のセクタが同じバッファ領域を使用する場合があること (共 有バッファ領域となる)、 各セクタに対して未処理のデータがあることを示すフラ グを設けること、 共有バッファ領域を使用するセクタ数は、 バッファ手段として 使用できる R A M容量に応じて変え得ること、 R A M容量のうちのバッファ手段 として用いる容量を変更可能であること等の機能の一部あるいは全部を有してい る。
このバッファ管理用テーブルは、 例えば、 ファームウェア R O M 1 3に格納さ れており、 C P U 1 4の制御の元に R AM 1 5に読み出される。 また、 このバッ ファ管理用テーブルは、 例えば、 別のデバイスを用いて、 ハードウェアで実現す る構成でもよい。
まず、 図 2〜図 4を参照して、 F Dのデータをリードして U S Bバス 1 2側へ 送信する場合 (以下、 リード時) について説明する。
図 2は、 リード時に使用するバッファ管理テーブルの構造を示す図である。 図 2において、 複数 N個のセクタに対して 1〜Nのセクタ番号が付されている。 各 セクタ 1〜Nに対応するバッファ領域の番号 A〜Rが付されている。 複数 N個は 例えば 2 5 6であり、 バッファ領域数は例えば N個の 5 0 %〜9 0 %、 好適には 7 5 %程度の比率に設定される。 この複数 N個の数及びそれに対するバッファ領 域数の比率は、 それぞれ必要に応じて、 変更される。
先頭のセクタ 1から所定 K番目 (Kく N ) のセクタ (この例では、 セクタ 6 ) に対してバッファ手段である R A M I 5のうちの共有のバッファ領域 A、 Bが対 応するように設定されている。 また、 K + 1番目 (この例では、 セクタ 7 ) 乃至 N番目のセクタに対して R A M 1 5のうちの個別のバッファ領域がそれぞれ対応 するように設定されている。 共有のバッファ領域 A、 Bは、 2セクタ分のバッファ領域を用いてリングバッ ファとして動作させる。 即ち、 FDC 1 6のリードしたデータをバッファ領域 A に格納し、 同時にバッファ領域 Bに格納されているデータを U S B C 1 1で送信 する。 この動作を共有のバッファ領域 A、 Bを交換しながら、 セクタ 1〜 6のデ ータを送出する。 なお、 共有のバッファ領域として、 2つの領域を用いることと して説明するが、 3つ以上のバッファ領域を、 共有のバッファ領域として使用し てもよい。
未処理フラグは、 F DC 1 6がデータをリ一ドしたが、 U S B C 1 1がそのデ ータをまだ送信していない場合に、 セッ トされる。 即ち、 フラグ 「 1」 が立てら れる。 なお、 図 2に示した未処理フラグは、 個別のバッファ領域 C〜Rに対応す るセクタ 7〜Nにフラグがセッ トされ、 共有のバッファ領域 A、 Bに対応するセ クタ 1〜6のフラグがクリァされている状況を、 例示している。
図 3は、 図 2のセクタ番号 1〜Nとバッファ領域番号 A〜Rの関係を、 バッフ ァ領域番号 A〜Rから見た図である。 バッファ領域 A、 Bはセクタ 1〜6で共用 され、 バッファ領域 C〜Rは、 個別にセクタ 7〜Nに対応している。
図 4は、 リード時の処理を説明するフローチャートである。 図 4において、 リ ード要求が発生される (ステップ S 1 0 0) と、 まず、 FDの目標とする トラッ クにヘッ ドを移動させる。 そして、 FDC処理が開始される (ステップ S 1 1 0) と同時に、 US BC処理が開始される (ステップ S 1 2 0)。
F DC処理では、 ステップ S 1 1 1において、 F DD 1 7のヘッ ド位置に対す る F Dの回転位置を例えば I Dコマンドを発行することにより得る。 この FDの 回転位置に基づいて次にリードするセクタを決定する。 「次にリ一ドするセクタ」 は、 セクタの頭からのデータを漏れなく読みとるために、 FDの回転位置のセク タの次の順番のセクタである。
ステップ S 1 1 2において、 決定されたセクタのデータをリードする。 ステツ プ S 1 1 3において、 リ一ドされたセクタのデータを対応するバッファ領域へ格 納する。 格納先のバッファ領域は図 2のバッファ管理テーブルにしたがう。
ステップ S 1 1 4において、 データが格納されたセクタに対して、 デ一タ未処 理を示すフラグをセッ トする。 このフラグをセッ トする際に、 そのセクタが先頭 のセクタから所定 K番目までのセクタである場合には、 同じバッファ領域に対応 する他のセクタのフラグをクリアする。 即ち、 そのセクタのデータが格納された バッファ領域が共有バッファ領域 A (または B ) である場合には、 その共有バッ ファ領域 A (または B ) にはそれ以前のデータにそのセクタのデータが上書きし て格納される。 したがって、 上書きされたそれ以前のデータ (他のセクタのデ一 タ) は送信されないことになつてしまうので、 他のセクタのデータに対するフラ グはクリアされる。
個別のバッファ領域 K + 1 (図 2の例では、 セクタ 7 ) から Nでは、 データが 上書きされることはないから、 ステップ S 1 1 4でのフラグのセッ トだけが行わ れる。
このステップ S 1 1 1〜ステップ S 1 1 4の F D C処理が、 ステップ S 1 1 5 で U S B C処理が完了したことが確認されるまで、 繰り返して行われる。
なお、 ステップ S 1 1 1における 「次にリ一ドするセクタ」 は、 データリ一ド の当初においては、 F Dの回転位置がセクタ 1番目乃至セクタ K番目にあるとき はセクタ K + 1番目とし、 その回転位置がセクタ K番目以降にあるときは当該セ クタの次の順番のセクタとしてもよレ、。
また、 ステップ 1 1 3において、 リードされたセクタのデータを対応するバッ ファ領域に格納するに際し、 データリードの当初においては、 リードされたセク タのデータが、 セクタ 1番目乃至セクタ K番目のセクタのデータであるときには バッファ領域に格納せず、 K + 1番目以降のセクタデータから対応するバッファ 領域に順次格納するようにしてもよレ、。
即ち、 F D C処理が開始された当初 (データリー ドの当初) の F Dの回転位置 がセクタ 1番目乃至セクタ K番目にあるときは、 そのセクタのデータは読み出さ れてバッファ領域 A Bに格納されても、 処理の進行とともに上書きされてしま うから、 セクタ 1番目乃至セクタ K番目のデータの読み出しやバッファ領域への 格納を省略する。 これにより、 データリードの当初における無駄な処理を省く こ とができる。
U S B C処理では、 ステップ S 1 2 1において、 セクタ番号を示すセクタ変数 Iを 「 1」 にセッ トする。 これは U S B C 1 1から U S B 1 2 転送するセクタ データは、 セクタ番号の若い順、 即ちセクタ 1からセクタ番号順に転送する必要 があることによる。 以下、 セクタ変数 Iのセクタを、 単にセクタ I という。
ステップ S 1 2 2において、 セクタ Iのフラグが 「 1」 かどうか判定し、 フラ グが 「 1」 でない場合には 「 1」 がセッ トされるまで、 待機する。 フラグが 「 1」 と判定されると、 そのセクタのデータが F D C 1 6によってリードされたが、 未 だ U S B C 1 1が送信していないことを意味する。
そこで、 ステップ S 1 2 3にてセクタ Iのデータを送信するとともに、 セクタ Iのフラグをクリア (即ち 「0」) する (ステップ S 1 2 4)。 引き続いて、 ステ ップ S 1 2 5で、 セクタ変数 Iを 「 I + 1」 にセッ 卜する。
ステップ S 1 2 6にて、 セクタ変数 Iカ 「N + 1」 になったかどうかを判定す る。 セクタ変数 I が 「N+ 1」 になるまで、 ステップ S 1 2 2〜ステップ S 1 2 5の処理を、 繰り返して行う。 セクタ変数 Iが 「N+ 1」 になると、 当該トラッ クの全てのセクタ 1 Nのデータが U S B 1 2に転送されたことになり、 U S B C処理が終了する (ステップ S 1 2 7)。 また、 ステップ S 1 1 5でも U S B C処 理完了により、 F DC処理が終了する (ステップ S 1 1 6)。
以上のように、 リード時に、 F D C処理では、 F Dの回転位置に基づいて次に リ一ドするセクタを決定し、 当該セクタに対応するバッファ領域にデータを格納 してゆく。 ただ、 データリードの当初においては、 F Dの回転位置がセクタ 1番 目乃至セクタ K番目 (即ち、 共有のバッファ領域に対応する) にあるときは、 そ の間のセクタのデータを 2回読みする力 、あるいは 1回目は読みとらない。 また、 US B C処理では、 特許文献 1等と同じく、 先頭セクタのデータから U S B 1 2 に転送する。 したがって、 特許文献 1に比して原理的には若干の時間遅延が生じ ることになる。 しかし、 他装置との共用などの条件を含めた US Bのデータ転送 速度と、 処理速度 (他装置との共用などの条件) や、 共有バッファ領域に対応す るセクタ数を適切に設定することによって、 本発明は、 リード時に全セクタ分の バッファ領域を持つ特許文献 1のものと比して、 実質的に同程度の速度性能を得 ることも期待できる。
つぎに、 図 5〜図 7を参照して、 U S Bバス 1 2側からのデータを受信して F Dの該当する トラックの各セクタにデータをライ トする場合 (以下、 ライ ト時) について説明する。
図 5は、 ライ ト時に使用するバッファ管理テーブルの構造を示す図であり、 基 本的には図 2のリ一ド時に使用するバッファ管理テーブルと同様である。
この図 5では、 U S B Cからは該当する トラックのセクタデータが、 先頭セク タのデータから送信されてくるから、 これを効率よく受信できるような構造とさ れている。
先頭のセクタ 1から所定 J番目 ( J <N) のセクタ (この例では、 セクタ N— 6) に対してバッファ手段である RAMI 5のうちの個別のバッファ領域がそれ ぞれ対応するように設定されており、 N— 5番目〜 N番目のセクタに対して R A Ml 5のうちの共有のバッファ領域 Q、 Rが対応するように設定されている。 共有のバッファ領域 Q、 Rは、 2セクタ分のバッファ領域を用いてリングバッ ファと して動作させる。 即ち、 U S B C 1 1の受信したデータをバッファ領域 Q に格納し、 同時にバッファ領域 Rに格納されているデータを FDC 1 6、 FDD 1 7で FDにライ 卜する。 この動作を共有のバッファ領域 Q、 Rを交換しながら、 セクタ N— 5〜Nのデータをライ 卜する。
未処理フラグは、 U S B C 1 1が受信したが、 F D C 1 6、 F DD 1 7がまだ ライ トしていない場合に、 セッ トされる。 即ち、 フラグ 「 1」 が立てられる。 な お、 図 5に示した未処理フラグは、 個別のバッファ領域 A〜Pに対応するセクタ 1〜.N— 6及び共有のバッファ領域 Q、 Rに対応するセクタ N— 5〜N— 4にフ ラグがセッ トされ、 共有のバッファ領域 A、 Bに対応するセクタ N— 3〜Nのフ ラグがクリアされている状況を、 例示している。
なお、 図 5で、 セクタ番号とバッファ領域番号との対応は、 図 2のその対応と 比較するといずれかの番号を逆にした形となる。 したがって、 図 5のバッファ領 域番号の欄に括弧書きで示したように、 図 2の対応関係を倒立した形とすること がよい。 このように、 対応関係を倒立した形とすることによって、 データリード 時とデータライ ト時とでバッファ管理テーブルの管理が、 容易になる。
図 6は、 図 5のセクタ番号 1〜Nとバッファ領域番号 A〜Rの関係を、 バッフ ァ領域番号 A〜Rから見た図である。 バッファ領域 Q、 Rはセクタ N〜N— 5で 共用され、 ノくッファ領域 A〜Pは、 個別にセクタ 1〜N— 6に対応している。 図 7は、 ライ ト時の処理を説明するフローチャートである。 図 7において、 ラ イ ト要求が発生される (ステップ S 2 0 0 ) と、 まず、 F Dの目標とする トラッ クにヘッ ドを移動させる。 そして、 U S B C処理が開始される (ステップ S 2 1 0 ) と同時に、 F D C処理が開始される (ステップ S 2 2 0 )。
U S B C処理では、 ステップ S 2 1 1において、 セクタ番号を示すセクタ変数 I を 「 1」 にセッ 卜する。 これは U S B 1 2から U S B C 1 1へ転送され受信さ れるセクタデータは、 セクタ番号の若い順、 即ちセクタ 1からセクタ番号順に受 信される。 この転送、 受信を速やかに、 効率よく行うためである。 以下、 セクタ 変数 Iのセクタを、 単にセクタ I という。
ステップ S 2 1 2において、 セクタ Iの共有バッファのフラグが 「0」 かどう か判定し、 フラグが 「0」 の時には、 ステップ S 2 1 3に進む。 フラグが 「0」 でない場合には 「0」 にクリアされるまで待機することになる。 しカゝし、 バッフ ァ管理テーブルが図 5の構造を持つので、 セクタ番号 1〜N _ 4までは、 待機す ることはない。 セクタ番号 N— 3以降で、 フラグが 「 1」 と判定されることがあ るので、 その場合には 「待機」 することになる。
ステップ S 2 1 3にてセクタ Iのデータを受信し、 対応するバッファ領域に格 納する。 そして、 ステップ S 2 1 4で、 セクタ Iのフラグをセッ ト (即ち 「 1」) する。 引き続いて、 ステップ S 2 1 5で、 セクタ変数 I を 「 1 + 1」 にセッ トす る。
ステップ S 2 1 6にて、 セクタ変数 I力 S 「N+ 1」 になったかどうかを判定す る。 セクタ変数 I力; 「N+ 1」 になるまで、 ステップ S 2 1 2〜ステップ S 2 1 5の処理を、 繰り返して行う。 セクタ変数 I力; 「N+ 1」 になると、 当該トラッ クの全てのセクタ 1〜Nのデータが対応するバッファ領域に格納されたことにな り、 U S B C処理が終了する (ステップ S 2 1 7)。
F DC処理では、 ステップ S 2 2 1において、 F DD 1 7のヘッ ド位置に対す る F Dの回転位置を例えば I Dコマンドを発行することにより得る。 この F Dの 回転位置に基づいて次にライ 卜するセクタを決定する。 「次にライ 卜するセクタ」 は、 受信したデータを全て書き込むために、 FDの回転位置のあるセクタの次の 順番のセクタである。
ステップ S 2 2 2において、 決定されたセクタのフラグが 「 1」 であるかどう かを判定する。 そのセクタのフラグが 「 1」 でなければ、 ステップ S 2 2 1に戻 り、 FDの回転に伴って進行 (更新) する次にライ トするセクタのフラグ 「 1」 を判定する。
ステップ S 2 2 2において、 フラグ 「 1」 と判定されると、 ステップ S 2 2 3 で当該セクタへデータをライ 卜する。 そして、 ステップ S 2 24において、 ライ 卜されたセクタが対応するバッファ領域のフラグをクリア 「0」 する。
このステップ S 2 2 1〜ステップ S 2 2 4の F DC処理が、 ステップ S 2 2 5 で全セクタへのデータライ ト処理が完了したことが確認されるまで、 繰り返して 行われる。 全セクタへのデータライ ト処理が完了すると、 FDC処理は終了する (ステップ S 2 2 6 )。 なお、 U S B C処理の処理速度と F D C処理の処理速度との関係などによって、 F D C処理が U S B C処理に追いついてしまうことも予想される。 この場合には、 U S B Cで受信したデータを、 バッファ手段である R A M 1 5に格納することな く、 F D Cに直接転送するようにしてもよい。 これにより、 ライ ト処理に要する 時間が短縮される。
以上のようにライ ト時に、 また、 U S B C処理では、 特許文献 1等と同じく、 U S B 1 2からは先頭セクタのデータからセクタの順番に受信される。 F D C処 理は、 U S B C処理と同時に開始されるが、 「次にライ トするセクタ」 には F Dの 回転位置によっては、 未だそのセクタへのデータが受信できていない、 即ち対応 するバッファ領域に格納されていない場合が存在する。 したがって、 特許文献 1 に比して原理的には若干の時間遅延が生じることになる。 しカゝし、 他装置との共 用などの条件を含めた U S Bのデータ転送速度と処理速度 (他装置との共用など の条件) や、 共有バッファ領域に対応するセクタ数を適切に設定することによつ て、 本発明は、 ライ ト時にも全セクタ分のバッファ領域を持つ特許文献 1のもの と比して、 実質的に同程度の速度性能を得ることも期待できる。
そして、 本発明では、 データリード時、 データライ ト時のデータ転送に用いる バッファ手段 1 5のバッファ領域 (数) を伸縮する。 これにより、 ハ一ドウエア 構成を変えることなく、 バッファ手段 (R A Mバッファ) の記憶容量と速度性能 のト レ一ドオフを考慮したシステムを構築できる。
また、 一般に U S B— F D D装置 1 0は、 種々のフォーマッ トの F Dに対応す るので、 そのフォーマッ トによって要求される速度性能も、 使用されるバッファ 容量も異なる。 本発明では、 各フォーマッ トに対して最大の性能が出せるように バッファ手段 1 5の管理を適応的に変えていく。 これにより、 例えば、 使用でき るバッファ領域 (数 N ) が制限される場合に、 制限された容量まで一杯に使用し て限られたバッファ資源で最大の性能を引き出せる。 また、 速度性能がさほど要 求されない場合には、 バッファ手段として使用するバッファ領域 (数 N ) を少な く し、 残余のバッファ領域 (RAM容量のうちバッファ手段として使用しない領 域) は他の用途に使用できる。 また、 バッファ資源 (ハードウェア RAM) を節 約できる。 産業上の利用可能性
本発明に係るス 卜レ一ジディスクに対するデータリード方法、 データライ ト方 法、 及びス トレージディスク制御装置は、 U S B等のシリ アルデータ転送手段を 用いた FDD等のス トレージディスク駆動装置のリードノライ トを使用状況に合 わせて高速に行うと共に、 RAMバッファの容量を少なくすることが可能である。

Claims

請求の範囲
1 . シリアルデータ転送手段とバッファ手段を含むス トレ一ジディスク駆動装 置を用いてス トレージディスクの複数 N個のセクタのデータをリ一ドするデータ リード方法において、
先頭のセクタから所定 K番目 (K < N ) のセクタに対して前記バッファ手段の うちの共有のバッファ領域が対応し、 K + 1番目乃至 N番目のセクタに対して前 記バッファ手段のうちの個別のバッファ領域がそれぞれ対応するように設定し、 リ一ド要求に応じて次の処理 i乃至処理 iv、
処理 i ; ス トレ一ジディスクの回転位置に基づいて次にリードするセクタを決定 する、
処理 i i ; 決定されたセクタのデータをリ一ドする、
処理 i i i ; リードされたセクタのデータを対応するバッファ領域へ格納する、 処理 iv; データが格納されたセクタに対して、 データ未処理を示すフラグをセッ トする、
を繰り返して実行すると共に、
同じく リ一ド要求に応じて次のステップ V乃至ステップ vi、
処理 V;先頭セクタからセクタ番号順に、 前記フラグがセッ トされていることを条 件に当該セクタからのデータを該当するバッファ領域から前記シリアルデータ転 送手段を介して外部へ転送する、
処理 vi ; データが転送されたセクタのフラグをクリァする、
を繰り返して実行することを特徴とする、 ス トレ一ジディスクのデータリ一ド方 法。
2 . 前記処理 iにおける次にリードするセクタは、 データリードの当初におい ては、 ス トレージディスクの回転位置がセクタ 1番目乃至セクタ K番目にあると きはセクタ K + 1番目であり、 その回転位置がセクタ Κ番目以降にあるときは当 該セクタの次の順番のセクタであることを特徴とする、 請求項 1に記載のス トレ
—ジディスクのデータリ一ド方法。
3 . 前記処理 i i i におけるセクタのデータをバッファ領域へ格納するに際し、 データリードの当初においては、 リードされたセクタのデータが、 セクタ 1番目 乃至セクタ K番目のセクタのデータであるときにはバッファ領域に格納せず、 K + 1番目以降のセクタデータから対応するバッファ領域に順次格納することを特 徴とする、 請求項 1に記載のス トレ一ジディスクのデータリ一ド方法。
4 . 前記処理 i における次のリ一ドセクタは、データリ―ドの当初においては、 ス トレ一ジディスクの回転位置のセクタ番号に関わらず、 当該セクタの次の順番 のセクタであり、
且つ前記処理 i i i におけるセクタのデータをバッファ領域へ格納するに際し、 データリードの当初においては、 リードされたセクタのセクタ番号に関わらず、 対応するバッファ領域に順次格納することを特徴とする、 請求項 1に記載のス ト レージディスクのデータリ一ド方法。
5 . 前記処理 i における次にリードするセクタは、 ス トレージディスクの回転 位置のセクタの次の順番のセクタであり、
前記処理 ivにおけるフラグをセッ 卜する際に、 そのセクタが先頭のセクタから 所定 K番目までのセクタである場合には、 同じバッファ領域に対応する他のセク タのフラグをクリアすることを特徴とする、 請求項 1に記載のス トレ一ジデイ ス クのデ一タリ一ド方法。
6 . 前記共有のバッファ領域は、 リングバッファと して使用される 2つ以上の バッファ領域であることを特徴とする、 請求項 1に記載のス トレージディスクの デ一タリード方法。
7 . シリアルデータ転送手段とバッファ手段を含むス トレ一ジディスク駆動装 置を用いてス ト レージディスクの複数 N個のセクタへデータをライ トするデータ ライ ト方法において、
先頭のセクタから所定 J番目 (Jく N ) のセクタに対して前記バッファ手段の うちの個別のバッファ領域がそれぞれ対応し、 J + 1番目乃至 N番目のセクタに 対して前記バッファ手段のうちの共有のバッファ領域が対応するように設定し、 ライ ト要求に応じて次の処理 Vi i乃至処理 Vi i i、
処理 Vi i;先頭セクタからセクタ番号順に、 データ未処理を示すフラグがクリアさ れていることを条件に、 前記シリアルデータ転送手段を介して外部から転送され たデータを該当するバッファ領域へ格納する、
処理 Vi i i ; データが格納されたセクタに対して、 データ未処理を示すフラグをセ ッ トする、
を繰り返して実行すると共に、
同じくライ 卜要求に応じて次の処理 ix乃至処理 xi、
処理 ix; ス トレージディスクの回転位置に基づいて次にライ 卜するセクタを決定 する、
処理 X;決定されたセクタの前記フラグがセッ トされていることを条件に、 ス トレ ージディスクの当該セクタにデータをライ 卜する、
処理 x i ; データがライ 卜されたセクタに対する前記フラグをクリアする、 を繰り返して実行することを特徴とする、 ス トレ一ジディスクのデータライ ト方 法。
8 . 前記処理 ixにおける次にライ トするセクタは、 ス トレージディスクの回転 位置にあるセクタの次の順番のセクタであることを特徴とする、 請求項 7に記載 のス トレージディスクのデータライ ト方法。
9 . 前記共有のバッファ領域は、 リングバッファとして使用される 2つ以上の バッファ領域であることを特徴とする、 請求項 7に記載のス トレ一ジディスクの データライ ト方法。
1 0 . シリアルデータ転送手段と、 バッファ手段と、 ス トレ一ジディスク制御 手段と、 複数 N個のセクタからなるセクタ群と共有及び個別対応のバッファ領域 からなるバッファ領域群とを対応させるバッファ管理テーブルと、 これらのシリ アルデータ転送手段乃至バッファ管理テーブルの各々と結合され且つそれらの制 御を司る C P Uを含み、
データリード時には、 前記バッファ管理テーブルを、 先頭のセクタから所定 K 番目 (K < N ) のセクタに対して前記バッファ手段のうちの共有のバッファ領域 が対応し、 K + 1番目乃至 N番目のセクタに対して前記バッファ手段のうちの個 別のバッファ領域がそれぞれ対応するように設定し、
リ一ド要求に応じて、 ス トレ一ジディスクの回転位置に基づいて次にリ一ドす るセクタを決定し (処理 i )、 決定されたセクタのデータをリードし (処理 i i )、 リードされたセクタのデータを対応するバッファ領域へ格納し (処理 i i i:)、 デ一 タが格納されたセクタに対してデータ未処理を示すフラグをセッ 卜する(処理 iv) 処理を、 繰り返して実行すると共に、
同じく リード要求に応じて、 先頭セクタからセクタ番号順に、 前記フラグがセ ッ 卜されていることを条件に当該セクタからのデータを該当するバッファ領域か ら前記シリアルデータ転送手段を介して外部へ転送し (処理 V:)、 データが転送さ れたセクタのフラグをクリアする (処理 V) 処理を、 繰り返して実行し、
データライ ト時には、 前記バッファ管理テーブルを、 先頭のセクタから所定 J 番目 ( Jく N ) のセクタに対して前記バッファ手段のうちの個別のバッファ領域 がそれぞれ対応し、 J + 1番目乃至 N番目のセクタに対して前記バッファ手段の うちの共有のバッファ領域が対応するように設定し、
ライ ト要求に応じて、 先頭セクタからセクタ番号順に、 データ未処理を示すフ ラグがクリアされていることを条件に、 前記シリ アルデータ転送手段を介して外 部から転送されたデータを該当するバッファ領域へ格納し (処理 Vi i:)、 データが 格納されたセクタに対して、データ未処理を示すフラグをセッ トする(処理 Vi i i )、 処理を繰り返して実行すると共に、
同じくライ ト要求に応じて、 ス トレ一ジディスクの回転位置に基づいて次にラ ィ トするセクタを決定し (処理 ix)、 決定されたセクタの前記フラグがセッ トされ ていることを条件に、 ス トレ一ジディスクの当該セクタにデータをライ トし (処 理 x)、データがライ トされたセクタに対する前記フラグをクリアする (処理 xi;)、 処理を繰り返して実行することを特徴とする、 ス トレージディスク制御装置。
1 1 . 前記 K番目、 前記 J番目及び前記複数 N個は、 J = N— K:、 になるよう に、 設定されていることを特徴とする、 請求項 1 0に記載のス トレ一ジディスク 制御装置。
PCT/JP2005/011394 2004-06-21 2005-06-15 ストレージディスクに対するデータリード方法、データライト方法、及びストレージディスク制御装置 Ceased WO2005124529A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/595,224 US7797482B2 (en) 2004-06-21 2005-06-15 Method of reading from and writing to a storage disk, and storage disk control unit
JP2006514845A JPWO2005124529A1 (ja) 2004-06-21 2005-06-15 ストレージディスクに対するデータリード方法、データライト方法、及びストレージディスク制御装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-182270 2004-06-21
JP2004182270 2004-06-21

Publications (1)

Publication Number Publication Date
WO2005124529A1 true WO2005124529A1 (ja) 2005-12-29

Family

ID=35509880

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/011394 Ceased WO2005124529A1 (ja) 2004-06-21 2005-06-15 ストレージディスクに対するデータリード方法、データライト方法、及びストレージディスク制御装置

Country Status (5)

Country Link
US (1) US7797482B2 (ja)
JP (1) JPWO2005124529A1 (ja)
CN (1) CN100405280C (ja)
TW (1) TW200601282A (ja)
WO (1) WO2005124529A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866277A (zh) * 2010-06-18 2010-10-20 华为技术有限公司 数据排序方法和装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541456B (zh) * 2010-12-13 2016-08-24 深圳艾科创新微电子有限公司 一种扇区模式下的闪存写入方法及系统
CN102170478B (zh) * 2011-05-16 2014-02-19 浙江大学 基于autosar协议栈的pdu缓存方法
KR20140146275A (ko) * 2013-06-14 2014-12-26 삼성전자주식회사 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템
US12079517B2 (en) * 2022-07-21 2024-09-03 Micron Technology, Inc. Buffer allocation for reducing block transit penalty

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0259923A (ja) * 1988-08-26 1990-02-28 Hitachi Ltd ディスク制御方法および装置
JPH04336317A (ja) * 1991-05-14 1992-11-24 Kobe Nippon Denki Software Kk ディスク装置制御方式
JPH06180635A (ja) * 1992-12-11 1994-06-28 Matsushita Electric Ind Co Ltd 代替セクタ処理方法
JP2004103103A (ja) * 2002-09-09 2004-04-02 Y E Data Inc Usb接続のフレキシブルディスクドライブ装置におけるトラックの高速リード/ライト方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2253729A1 (en) * 1998-11-10 2000-05-10 Newbridge Networks Corporation Flexible threshold based buffering system for use in digital communication devices
JP2000305716A (ja) * 1999-04-23 2000-11-02 Sony Corp ディスク制御装置及びディスク制御方法
US7213087B1 (en) * 2000-08-31 2007-05-01 Hewlett-Packard Development Company, L.P. Mechanism to control the allocation of an N-source shared buffer
JP2004171411A (ja) * 2002-11-21 2004-06-17 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びバッファメモリの管理方法
JP2006147096A (ja) * 2004-11-22 2006-06-08 Hitachi Global Storage Technologies Netherlands Bv 磁気ディスク媒体、磁気ディスク装置、及び磁気ディスク媒体の回転位置検出方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0259923A (ja) * 1988-08-26 1990-02-28 Hitachi Ltd ディスク制御方法および装置
JPH04336317A (ja) * 1991-05-14 1992-11-24 Kobe Nippon Denki Software Kk ディスク装置制御方式
JPH06180635A (ja) * 1992-12-11 1994-06-28 Matsushita Electric Ind Co Ltd 代替セクタ処理方法
JP2004103103A (ja) * 2002-09-09 2004-04-02 Y E Data Inc Usb接続のフレキシブルディスクドライブ装置におけるトラックの高速リード/ライト方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866277A (zh) * 2010-06-18 2010-10-20 华为技术有限公司 数据排序方法和装置

Also Published As

Publication number Publication date
US20080253013A1 (en) 2008-10-16
JPWO2005124529A1 (ja) 2008-04-17
CN100405280C (zh) 2008-07-23
US7797482B2 (en) 2010-09-14
CN1910544A (zh) 2007-02-07
TW200601282A (en) 2006-01-01

Similar Documents

Publication Publication Date Title
JP5128079B2 (ja) ユニバーサルストレージバスアダプタ
US6170042B1 (en) Disc drive data storage system and method for dynamically scheduling queued commands
US7761642B2 (en) Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging
US5664143A (en) Method and apparatus for sorting disk access commands in a rotational position queue according to time differences between the commands
US7480754B2 (en) Assignment of queue execution modes using tag values
US5341351A (en) Method and means for optimally accessing data residing on dual actuator DASDs
US4905184A (en) Address control system for segmented buffer memory
US9298393B2 (en) Buffer management for increased write speed in large sector data storage device
EP2015167A2 (en) Storage device
JP2001312373A (ja) データの書き込み方法およびディスクドライブ装置
CN1648843A (zh) 数据传输控制方法和存储装置
JP2002023962A (ja) ディスク装置及び制御方法
CN1673976A (zh) 数据存储装置、其控制方法以及磁盘存储装置
US6567886B1 (en) Disk drive apparatus and control method thereof
WO2005124529A1 (ja) ストレージディスクに対するデータリード方法、データライト方法、及びストレージディスク制御装置
US6795264B2 (en) LBA tracking for system data management
US6654852B2 (en) Method and system of reading and writing data by a disk drive apparatus
US8291125B2 (en) Speculative read-ahead for improving system throughput
JP2003288317A (ja) 端数ブロックデータ転送を検出し補償するシステムおよび方法
US20070255897A1 (en) Apparatus, system, and method for facilitating physical disk request scheduling
KR100638378B1 (ko) 디스크 제어장치의 메모리 구조에 대한 시스템 및 방법
CN1705929A (zh) 用于将数据返回给通过总线接收的读请求的方法、系统和程序
US7676604B2 (en) Task context direct indexing in a protocol engine
EP1517246B1 (en) A method for transferring data and a data transfer interface
CN1848101A (zh) 可快速地于不同储存装置间传输数据的计算机系统

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006514845

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 10595224

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 200580002130.8

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase