JP6171614B2 - Storage medium control device, disk-type storage device, and storage medium control method - Google Patents

Storage medium control device, disk-type storage device, and storage medium control method Download PDF

Info

Publication number
JP6171614B2
JP6171614B2 JP2013130598A JP2013130598A JP6171614B2 JP 6171614 B2 JP6171614 B2 JP 6171614B2 JP 2013130598 A JP2013130598 A JP 2013130598A JP 2013130598 A JP2013130598 A JP 2013130598A JP 6171614 B2 JP6171614 B2 JP 6171614B2
Authority
JP
Japan
Prior art keywords
address
disk
unit
phase difference
storage medium
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.)
Expired - Fee Related
Application number
JP2013130598A
Other languages
Japanese (ja)
Other versions
JP2015005178A (en
Inventor
嵯峨 嘉孝
嘉孝 嵯峨
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2013130598A priority Critical patent/JP6171614B2/en
Publication of JP2015005178A publication Critical patent/JP2015005178A/en
Application granted granted Critical
Publication of JP6171614B2 publication Critical patent/JP6171614B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明は、記憶媒体制御装置、ディスク型記憶装置及び記憶媒体の制御方法に関し、特に、複数の記憶媒体を連携させて動作させる場合の制御に関する。   The present invention relates to a storage medium control device, a disk-type storage device, and a storage medium control method, and more particularly to control when a plurality of storage media are operated in cooperation.

HDD(Hard Disk Drive)のような磁気ディスク記憶装置の小型化、低価格化により、複数台を連携させて動作させるRAID(Redundant Arrays of Inexpensive Disks)技術が用いられることが一般的になっている。RAIDによれば、例えば、1つのデータ分散して複数台の装置に格納することにより、データの書き込み及び読出しに要する時間を短縮することや、1つのデータを複数台の装置に夫々格納することにより、データ損失のリスクを低減することが可能となる。   Due to the downsizing and cost reduction of magnetic disk storage devices such as HDD (Hard Disk Drive), RAID (Redundant Arrays of Inexpensive Disks) technology that operates a plurality of devices in cooperation has become common. . According to RAID, for example, one data is distributed and stored in a plurality of devices, thereby reducing the time required for data writing and reading, and one data is stored in a plurality of devices, respectively. As a result, the risk of data loss can be reduced.

このような複数台の磁気ディスク装置を連携させる場合において、夫々の装置における回転待ち時間が異なるために、性能が発揮されないという問題がある。このような課題を解決するための技術として、複数のHDDを同期回転させる方法が提案されている(例えば、特許文献1参照)。また、夫々の装置における転送要求のタイミングをずらし、転送要求の衝突を防ぐために、回転を同期させたうえでデータの格納位置を装置毎にずらす方法が提案されている(例えば、特許文献2参照)。   When such a plurality of magnetic disk devices are linked, there is a problem that the performance cannot be exhibited because the rotation waiting time of each device is different. As a technique for solving such a problem, a method of synchronously rotating a plurality of HDDs has been proposed (see, for example, Patent Document 1). In addition, in order to shift the timing of transfer requests in each device and prevent collision of transfer requests, a method of synchronizing the rotation and shifting the data storage position for each device has been proposed (for example, see Patent Document 2). ).

特許文献1、2いずれの技術も、夫々の装置における磁気ディスクの回転同期をとることが前提となっている。そのため、回転同期の機能が搭載されていない磁気ディスク装置には適用することができない。尚、このような課題は磁気ディスク装置に限らず、ディスク型の記憶媒体を用いる記憶装置であれば同様に問題となり得る。   The techniques in both Patent Documents 1 and 2 are premised on the rotation synchronization of the magnetic disk in each apparatus. Therefore, it cannot be applied to a magnetic disk device that does not have a rotation synchronization function. Such a problem is not limited to a magnetic disk device, and can be similarly problematic if it is a storage device using a disk-type storage medium.

本発明は、このような課題を解決するためになされたものであり、複数のディスク型記憶装置を連携させて動作させる場合において、夫々のディスク型記憶装置の回転を同期させることなく、回転待ち時間をそろえてアクセス時間を短縮することを目的とする。   The present invention has been made to solve such a problem, and in the case where a plurality of disk storage devices are operated in cooperation with each other, the rotation of each disk storage device is not synchronized and the waiting for rotation is performed. The purpose is to shorten the access time with the same time.

上記課題を解決するために、本発明の一態様は、複数のディスク型記憶装置を連携させて制御する記憶媒体制御装置であって、前記複数のディスク型記憶装置における記憶媒体であるディスクの回転位相差を測定する位相差測定部と、測定された回転位相差に相当する前記ディスク型記憶装置におけるアドレスのオフセット量を算出するアドレスオフセット量算出部と、前記ディスク型記憶装置におけるアクセス対象のアドレスの指定を受け付けるアドレス指定受付部と、前記アドレスオフセット量算出部において算出された前記アドレスオフセット量に基づき、指定された前記アクセス対象のアドレスを変換するアドレス変換部とを含むことを特徴とする。
In order to solve the above problems, an aspect of the present invention is a storage medium control device that controls a plurality of disk storage devices in cooperation with each other, and rotates a disk that is a storage medium in the plurality of disk storage devices. A phase difference measuring unit for measuring a phase difference, an address offset amount calculating unit for calculating an offset amount of an address in the disk type storage device corresponding to the measured rotational phase difference, and an address to be accessed in the disk type storage device features and addressing accepting unit that accepts a designation based on the offset amount of the address calculated in the address offset computing unit, and an address converter for converting the specified address of the access target was, to include the And

また、本発明の他の態様は、ディスク型記憶装置であって、上述した記憶媒体制御装置を含むことを特徴とする。   Another aspect of the present invention is a disk-type storage device including the storage medium control device described above.

また、本発明の更に他の態様は、複数のディスク型記憶装置を連携させて制御する記憶媒体制御方法であって、前記複数のディスク型記憶装置における記憶媒体であるディスクの回転位相差を測定し、測定された回転位相差に相当する前記ディスク型記憶装置におけるアドレスのオフセット量を算出し、前記ディスク型記憶装置におけるアクセス対象のアドレスの指定を受け付け、算出された前記アドレスのオフセット量に基づき、指定された前記アクセス対象のアドレスを変換することを特徴とする。
According to still another aspect of the present invention, there is provided a storage medium control method for controlling a plurality of disk storage devices in cooperation with each other, and measuring a rotational phase difference of a disk that is a storage medium in the plurality of disk storage devices. and calculates the offset amount of address in said disk-type storage device corresponding to the measured rotational phase difference, receives designation of an address to be accessed in the disk-type storage device, offset amount before Symbol address calculated Based on the above, the designated address to be accessed is converted.

本発明によれば、複数のディスク型記憶装置を連携させて動作させる場合において、夫々のディスク型記憶装置の回転を同期させることなく、回転待ち時間をそろえてアクセス時間を短縮することが可能となる。   According to the present invention, when a plurality of disk storage devices are operated in a coordinated manner, the rotation waiting time can be aligned and the access time can be shortened without synchronizing the rotation of each disk storage device. Become.

本発明の実施形態に係る記憶媒体制御装置の構成を示すブロック図である。It is a block diagram which shows the structure of the storage medium control apparatus which concerns on embodiment of this invention. 本発明の実施形態に係る記憶媒体のトラック、セクタ構成を示す図である。It is a figure which shows the track | truck and sector structure of the storage medium which concerns on embodiment of this invention. 本発明の実施形態に係る2つのHDDへのデータの分散態様を示す図である。It is a figure which shows the distribution aspect of the data to two HDD which concerns on embodiment of this invention. 本発明の実施形態に係る回転位相差の測定態様を示す図である。It is a figure which shows the measurement aspect of the rotation phase difference which concerns on embodiment of this invention. 本発明の実施形態に係るセクタアドレス変換部の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the sector address conversion part which concerns on embodiment of this invention. 本発明の実施形態に係る2つのHDDにおけるアドレス位置の例を示す図である。It is a figure which shows the example of the address position in two HDD which concerns on embodiment of this invention. 本発明の他の実施形態に係るHDDにおけるバッファ領域の態様を示す図である。It is a figure which shows the aspect of the buffer area | region in HDD which concerns on other embodiment of this invention. 本発明の他の実施形態に係るセクタアドレス変換部の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the sector address conversion part which concerns on other embodiment of this invention. 本発明の他の実施形態に係る変換対象範囲レジスタの設定例を示す図である。It is a figure which shows the example of a setting of the conversion object range register which concerns on other embodiment of this invention. 本発明の他の実施形態に係るバッファ領域の判別態様を示す図である。It is a figure which shows the discrimination mode of the buffer area | region which concerns on other embodiment of this invention.

実施の形態1.
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、2台のHDD(Hard Disk Drive)を連携させて動作させる記憶媒体制御装置を例として説明する。
Embodiment 1 FIG.
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the present embodiment, a storage medium control device that operates two HDDs (Hard Disk Drives) in cooperation with each other will be described as an example.

図1は、本実施形態に係る記憶媒体制御装置を含む電子機器の全体構成を示すブロック図である。図1に示すように、本実施形態に係る記憶媒体制御装置100を含む電子機器は、HDD1、HDD2、SATA(Serial Advanced Technology Attachment)制御部3、SATA制御部4、応答時間差計測部5、セクタアドレス変換部6、SATA制御コマンド発行部7、データ整形部8、DMAC(Direct Memory Access Controller)9、CPU(Central Processing Unit)10及びRAM(Random Access Memory)11を含む。   FIG. 1 is a block diagram illustrating an overall configuration of an electronic apparatus including a storage medium control device according to the present embodiment. As shown in FIG. 1, the electronic apparatus including the storage medium control device 100 according to the present embodiment includes an HDD 1, an HDD 2, a SATA (Serial Advanced Technology Attachment) control unit 3, a SATA control unit 4, a response time difference measurement unit 5, and a sector. An address conversion unit 6, a SATA control command issuing unit 7, a data shaping unit 8, a DMAC (Direct Memory Access Controller) 9, a CPU (Central Processing Unit) 10, and a RAM (Random Access Memory) 11 are included.

HDD1及びHDD2は、夫々磁気ディスクを記憶媒体として用いるディスク型記憶装置であり、各種プログラム、データを分散記憶するSATA規格準拠の同型のハードディスクドライブのペアである。即ち、本実施形態においては、HDD1及びHDD2が、連携して動作するディスク型記憶装置として用いられる。データの分散配置については後に詳述する。   HDD1 and HDD2 are disk-type storage devices each using a magnetic disk as a storage medium, and are a pair of hard disk drives of the same type conforming to the SATA standard for distributing and storing various programs and data. That is, in the present embodiment, the HDD 1 and the HDD 2 are used as disk-type storage devices that operate in cooperation. The distributed arrangement of data will be described in detail later.

SATA制御部3は、SATA制御コマンド発行部7が発行するコマンドに従がってHDD1に対して制御コマンドを発行し、データのリード/ライトを実行する。HDD1へのデータライトの際、SATA制御部3は、データ整形部8が出力する32bit幅データをシリアル化して、HDD1へ送信する。また、HDD1からのデータリードの際、SATA制御部3は、HDD1が出力するデータを受信し、32bit幅に変換してデータ整形部8へ送信する。リード/ライトが完了すると、SATA制御部3は転送完了信号をアサートする。   The SATA control unit 3 issues a control command to the HDD 1 in accordance with a command issued by the SATA control command issuing unit 7 and executes data read / write. At the time of data writing to the HDD 1, the SATA control unit 3 serializes the 32-bit width data output from the data shaping unit 8 and transmits it to the HDD 1. Further, when data is read from the HDD 1, the SATA control unit 3 receives data output from the HDD 1, converts the data into a 32-bit width, and transmits the data to the data shaping unit 8. When the read / write is completed, the SATA control unit 3 asserts a transfer completion signal.

SATA制御部4は、SATA制御コマンド発行部7が発行するコマンドを、セクタアドレス変換部6経由で受信すると、このコマンドに従ってHDD2に対して制御コマンドを発行し、データのリード/ライトを実行する。HDD2へのデータライトの際、SATA制御部4は、データ整形部8が出力する32bit幅データをシリアル化して、HDD2へ送信する。また、HDD2からのデータリードの際、SATA制御部4は、HDD2が出力するデータを受信し、32bit幅に変換してデータ整形部8へ送信する。リード/ライトが完了すると、SATA制御部4転送完了信号をアサートする。   When the SATA control unit 4 receives a command issued by the SATA control command issuing unit 7 via the sector address conversion unit 6, the SATA control unit 4 issues a control command to the HDD 2 according to this command and executes data read / write. When writing data to the HDD 2, the SATA control unit 4 serializes the 32-bit width data output from the data shaping unit 8 and transmits the serial data to the HDD 2. In addition, when reading data from the HDD 2, the SATA control unit 4 receives data output from the HDD 2, converts it to a 32-bit width, and transmits it to the data shaping unit 8. When the read / write is completed, the SATA control unit 4 transfer completion signal is asserted.

応答時間差計測部5は、SATA制御コマンド発行部7が出力するコマンド発行タイミング信号を受信すると、タイミングカウント動作を開始し、SATA制御部3からの転送完了信号がアサートされたタイミングと、SATA制御部4からの転送完了信号がアサートされたタイミングとの時間差を計測し、応答時間差をセクタアドレス変換部6へ送信する。即ち、応答時間差計測部5が、位相差測定部として機能する。   When the response time difference measurement unit 5 receives the command issuance timing signal output from the SATA control command issuance unit 7, the response time difference measurement unit 5 starts the timing count operation, the timing when the transfer completion signal from the SATA control unit 3 is asserted, and the SATA control unit 4 is measured, and the response time difference is transmitted to the sector address conversion unit 6. That is, the response time difference measuring unit 5 functions as a phase difference measuring unit.

セクタアドレス変換部6は、SATA制御コマンド発行部7が出力するSATA制御部4用のコマンド、即ち、HDD2のための制御コマンドを受信し、受信コマンドが、データを読み出す範囲やデータを書き込む範囲、即ち、リード/ライト対象セクタアドレスを設定するコマンドの場合であって、且つ、予め設定されている変換対象のセクタアドレス範囲の場合に、設定に従ってセクタアドレスを変換し、変換後コマンドをSATA制御部4へ送信する。   The sector address conversion unit 6 receives a command for the SATA control unit 4 output from the SATA control command issuing unit 7, that is, a control command for the HDD 2, and a range in which the received command reads data or writes data. That is, in the case of a command for setting a read / write target sector address and in the case of a preset conversion target sector address range, the sector address is converted according to the setting, and the converted command is sent to the SATA control unit. 4 to send.

セクタアドレスの変換は、応答時間差計測部5の出力する応答時間差と、CPU10が設定する変換パラメータを基に実行する。受信コマンドが、リード/ライト対象セクタアドレスを設定するコマンドではない場合、または、変換対象のセクタアドレス範囲外の場合には、受信コマンドを加工することなく、そのままSATA制御部4へ送信する。   The sector address conversion is executed based on the response time difference output from the response time difference measuring unit 5 and the conversion parameter set by the CPU 10. If the received command is not a command for setting the read / write target sector address, or if it is out of the conversion target sector address range, the received command is transmitted to the SATA control unit 4 without being processed.

SATA制御コマンド発行部7は、CPU10からの制御命令を受信し、HDD1及びHDD2夫々のための制御コマンドを発行する。HDD1のための制御コマンドは、SATA制御部3に入力され、HDD2のための制御コマンドはセクタアドレス変換部6を経てSATA制御部4に入力される。CPU10からのデータリード/ライト指令を受信した場合には、リード/ライトの開始契機となるコマンドを、SATA制御部3及びセクタアドレス変換部6夫々に対して同時に発行する。さらに、CPU10からの指令がリードの場合には、コマンド発行と同時に、コマンド発行タイミング信号を応答時間差計測部5へ出力する。   The SATA control command issuing unit 7 receives a control command from the CPU 10 and issues a control command for each of the HDD 1 and the HDD 2. A control command for the HDD 1 is input to the SATA control unit 3, and a control command for the HDD 2 is input to the SATA control unit 4 via the sector address conversion unit 6. When a data read / write command from the CPU 10 is received, a command that triggers the start of read / write is issued simultaneously to the SATA control unit 3 and the sector address conversion unit 6. Further, when the command from the CPU 10 is “read”, a command issuance timing signal is output to the response time difference measuring unit 5 simultaneously with the issuance of the command.

データ整形部8は、HDD1及びHDD2夫々に格納するデータの分配処理や、HDD1及びHDD2から夫々読み出されたデータの統合処理を行う。データライトの際、データ整形部8は、DMAC9が出力する64bit幅のデータを受信すると、受信データを32bit幅のデータに分割し、SATA制御部3及びSATA制御部4夫々に対して32bitずつ送信する。   The data shaping unit 8 performs distribution processing of data stored in the HDD 1 and HDD 2 and integration processing of data read from the HDD 1 and HDD 2 respectively. During data write, when the data shaping unit 8 receives the 64-bit width data output from the DMAC 9, the data shaping unit 8 divides the received data into 32-bit width data and transmits the data to the SATA control unit 3 and the SATA control unit 4 by 32 bits. To do.

データリードの際、データ整形部8は、SATA制御部3及びSATA制御部4夫々が出力した32bit幅のデータを受信し、2つの受信データを統合して64bit幅のデータを生成して、DMAC9へ送信する。   At the time of data read, the data shaping unit 8 receives the 32-bit width data output from each of the SATA control unit 3 and the SATA control unit 4 and integrates the two received data to generate 64-bit width data. Send to.

DMAC9は、データ整形部8とRAM11間のデータ転送を実行するダイレクトメモリアクセスコントローラである。DMAC9の転送先アドレス、転送元アドレス、転送方向、データサイズはCPU10が設定する。データライトの際、DMAC9は、RAM11からリードしたデータをデータ整形部8へ送信する。データリードの際、DMAC9は、データ整形部8が出力したデータをRAM11へライトする。   The DMAC 9 is a direct memory access controller that executes data transfer between the data shaping unit 8 and the RAM 11. The CPU 10 sets the transfer destination address, transfer source address, transfer direction, and data size of the DMAC 9. At the time of data writing, the DMAC 9 transmits the data read from the RAM 11 to the data shaping unit 8. At the time of data reading, the DMAC 9 writes the data output from the data shaping unit 8 to the RAM 11.

CPU10は演算装置であり、セクタアドレス変換部6、SATA制御コマンド発行部7、データ整形部8及びDMAC9に対して、レジスタ値を設定することにより、動作制御を行う。RAM11は揮発性の記憶媒であり、CPU10が演算を行うためのプログラムの格納領域として機能する他、HDD1及びHDD2に対して書き込み、若しくはHDD1及びHDD2から読み出すデータを一時的に記憶する。
The CPU 10 is an arithmetic unit, and performs operation control by setting register values to the sector address conversion unit 6, the SATA control command issuing unit 7, the data shaping unit 8, and the DMAC 9. RAM11 is a volatile storage medium body, in addition to functioning as a storage area for programs for CPU10 performs an operation, temporarily stores data read write, or from HDD1 and HDD2 against HDD1 and HDD2.

次に、HDD1、2における記憶領域と格納データについて図2を参照して説明する。図2に示すように、本実施形態においては、1トラックあたりのセクタ数が1024セクタで一定であり、1セクタあたりの記憶容量が512ByteであるHDDを例としている。セクタアドレスはHDDの全セクタに割り振った通し番号であり、HDDの最外周トラックにゼロ番地を割り当て、内周トラックほど大きい値となる。本実施例では、外周トラックの1GByte(0x0000_0000〜0x001F_FFFF番地)をバッファ領域として使用し、一時データのライト/リードで使用する。   Next, storage areas and stored data in the HDDs 1 and 2 will be described with reference to FIG. As shown in FIG. 2, the present embodiment exemplifies an HDD in which the number of sectors per track is constant at 1024 sectors and the storage capacity per sector is 512 bytes. The sector address is a serial number assigned to all sectors of the HDD. A zero address is assigned to the outermost track of the HDD, and the value becomes larger as the inner track. In this embodiment, 1 GByte (addresses 0x0000 — 0000 to 0x001F_FFFF) of the outer track is used as a buffer area, and is used for writing / reading temporary data.

本実施形態においては、HDD2のバッファ領域にアクセスする場合にのみ、セクタアドレス変換部6によるセクタアドレス変換が実行される。即ち、このバッファ領域が、アドレス変換対象として設定される。HDD1のバッファ領域にアクセスする場合にはセクタアドレス変換は実行されない。内周トラックは、プログラム格納領域とし、OS(Operating System)、各種アプリケーション・プログラム等を記憶する。ライト時とリード時のセクタアドレスが異なると、正常にアクセスできないため、プログラム格納領域にアクセスする場合には、セクタアドレス変換は実行されない。   In the present embodiment, sector address conversion by the sector address conversion unit 6 is executed only when accessing the buffer area of the HDD 2. That is, this buffer area is set as an address conversion target. When accessing the buffer area of the HDD 1, sector address conversion is not executed. The inner track is a program storage area, and stores an OS (Operating System), various application programs, and the like. When the sector address at the time of writing and at the time of reading is different, it cannot be normally accessed. Therefore, when the program storage area is accessed, sector address conversion is not executed.

次に、本実施形態に係るHDD1、2夫々に対する、データの分散配置の態様について図3を参照して説明する。図1において説明したように、DMAC9が出力する64bit幅のデータは、データ整形部8によって2つの32bit幅のデータとしてHDD1、2夫々に格納されるが、具体的には、図3に示すように、HDD1、2夫々に8bitずつ交互に格納される。即ち、データ整形部8は、データライトの際、DMAC9から受信した64bit幅のデータを、8bitずつ交互にSATA制御部3、4夫々に入力する。   Next, an aspect of data distribution and arrangement for the HDDs 1 and 2 according to the present embodiment will be described with reference to FIG. As described in FIG. 1, the 64-bit width data output from the DMAC 9 is stored in the HDDs 1 and 2 as two 32-bit width data by the data shaping unit 8. Specifically, as shown in FIG. In addition, 8 bits are alternately stored in each of the HDDs 1 and 2. That is, the data shaping unit 8 inputs the 64-bit width data received from the DMAC 9 to the SATA control units 3 and 4 alternately every 8 bits at the time of data writing.

上述したように、本実施形態に係るHDD1、2夫々の1セクタあたりの記憶容量は512Byteである。本実施形態においては、2台のHDDにデータを分散配置するため、連結されたHDD1、2をCPU10から見ると、1024Byteのセクタサイズを有するHDDが1つあるように見える。   As described above, the storage capacity per sector of the HDDs 1 and 2 according to the present embodiment is 512 bytes. In this embodiment, since data is distributed and arranged in two HDDs, when the connected HDDs 1 and 2 are viewed from the CPU 10, it appears that there is one HDD having a sector size of 1024 bytes.

次に、応答時間差計測部5による応答時間差の計測態様について図4を参照して説明する。応答時間差計測部5は、SATA制御コマンド発行部7が出力するコマンド発行タイミング信号のアサートに応じてカウントを開始する。コマンド発行タイミング信号は、上述したように、リード開始コマンドと同時にアサートされる信号である。   Next, how the response time difference is measured by the response time difference measuring unit 5 will be described with reference to FIG. The response time difference measurement unit 5 starts counting in response to the assertion of the command issue timing signal output from the SATA control command issue unit 7. As described above, the command issue timing signal is a signal that is asserted simultaneously with the read start command.

即ち、応答時間差計測部5による応答時間差の計測に際しては、HDD1及びHDD2夫々の同一セクタがリードされ、HDD1及びHDD2夫々においてリード完了までに要した時間差が求められる。応答時間差計測部5は、コマンド発行タイミング信号のアサートに応じたカウントの開始後、SATA制御部3からの転送完了信号がアサートされたタイミングにおけるカウンタ値“TcmpA”を記憶すると共に、SATA制御部4からの転送完了信号がアサートされたタイミングにおけるカウンタ値“TcmpB”を記憶する。そして、応答時間差計測部5は、2つのカウント値の差分“TcmpA−TcmpB”を計算し、この応答時間差をセクタアドレス変換部6へ送信する。 That is, when the response time difference is measured by the response time difference measuring unit 5, the same sector of each of the HDD1 and HDD2 is read, and the time difference required for completion of reading in each of the HDD1 and HDD2 is obtained. The response time difference measuring unit 5 stores the counter value “T cmpA ” at the timing when the transfer completion signal from the SATA control unit 3 is asserted after the count is started in response to the assertion of the command issue timing signal, and the SATA control unit The counter value “T cmpB ” at the timing when the transfer completion signal from 4 is asserted is stored. Then, the response time difference measurement unit 5 calculates a difference “T cmpA −T cmpB ” between the two count values, and transmits this response time difference to the sector address conversion unit 6.

次に、本実施形態に係るセクタアドレス変換部6の機能構成について図5を参照して説明する。図5に示すように、セクタアドレス変換部6は、セレクタ61、制御コマンド判別部62、セクタアドレス演算部63、変換対象範囲レジスタ64、ディスク回転時間レジスタ65、トラックあたりセクタ数レジスタ66、応答時間差更新許可レジスタ67及び応答時間差レジスタ68を含む。   Next, the functional configuration of the sector address conversion unit 6 according to the present embodiment will be described with reference to FIG. As shown in FIG. 5, the sector address conversion unit 6 includes a selector 61, a control command determination unit 62, a sector address calculation unit 63, a conversion target range register 64, a disk rotation time register 65, a sector number register per track 66, a response time difference. An update permission register 67 and a response time difference register 68 are included.

セレクタ61は、制御コマンド判別部62から入力されるセレクト信号に従い、アドレス変換後のコマンドと、加工なしコマンドのどちらをSATA制御部4に出力するかを選択する。変換対象範囲レジスタ64は、CPU10によって設定される値であって、アドレス変換を実施する対象のHDD2におけるアドレス範囲を設定するための値を記憶しておくレジスタである。即ち、変換対象範囲レジスタ64が、変換対象アドレス範囲記憶部として機能する。本実施形態においては、図2において説明したように、HDD2のバッファ領域[0x0000_0000〜0x001F_FFFF]が設定される。   The selector 61 selects which of the command after address conversion and the command without processing to be output to the SATA control unit 4 according to the select signal input from the control command determination unit 62. The conversion target range register 64 is a register that is a value set by the CPU 10 and stores a value for setting an address range in the HDD 2 to be subjected to address conversion. That is, the conversion target range register 64 functions as a conversion target address range storage unit. In the present embodiment, as described in FIG. 2, the buffer area [0x0000_0000 to 0x001F_FFFF] of the HDD 2 is set.

制御コマンド判別部62は、SATA制御コマンド発部7から、HDD2を制御するためのSATA制御コマンドを受信する。即ち、アクセス対象のアドレスの指定を受け付けるアドレス7指定受付部として機能する。そして、制御コマンド判別部62は、受信したコマンドがHDD2についてのリード/ライト対象セクタアドレスを設定するコマンドの場合であって、変換対象範囲レジスタ64において設定されている変換対象のセクタアドレス範囲である場合に、アドレス変換が必要であると判断する。
Control command discriminator 62, the SATA control command issuing unit 7 receives a SATA control command for controlling the HDD 2. That is, it functions as an address 7 designation accepting unit that accepts designation of an address to be accessed. The control command determination unit 62 is a conversion target sector address range set in the conversion target range register 64 when the received command is a command for setting a read / write target sector address for the HDD 2. In this case, it is determined that address conversion is necessary.

アドレス変換が必要であると判断した場合、制御コマンド判別部62は、セクタアドレス演算部63が出力するセクタアドレス変換後のコマンドを出力するように、セレクタ61に入力するセレクト信号を切り替えると共に、受信したSATA制御コマンドに含まれるセクタアドレス情報をセクタアドレス演算部63に入力する。即ち、制御コマンド判別部62がセレクタ制御部として機能する。   If it is determined that the address conversion is necessary, the control command determination unit 62 switches the selection signal input to the selector 61 and receives the command so that the sector address conversion command output by the sector address calculation unit 63 is output. The sector address information included in the SATA control command is input to the sector address calculation unit 63. That is, the control command determination unit 62 functions as a selector control unit.

他方、受信したコマンドがリード/ライト対象セクタアドレスを設定するコマンドではない場合や、変換対象のセクタアドレス範囲外であり、アドレス変換が不要であると判断した場合、制御コマンド判別部62は、変換されていないそのままのコマンドを出力するようにセレクタ61に入力するセレクト信号を切り替えると共に、受信したSATA制御コマンドに含まれるセクタアドレス情報をセレクタ61に入力する。   On the other hand, when the received command is not a command for setting the read / write target sector address, or when it is determined that the address conversion is unnecessary because it is out of the sector address range to be converted, the control command determination unit 62 The select signal input to the selector 61 is switched so as to output a command that has not been performed, and the sector address information included in the received SATA control command is input to the selector 61.

ディスク回転時間レジスタ65は、CPU10によって設定される値であって、HDD2の1回転分に要する時間の値を記憶しておくレジスタである。HDD2の回転数が5400(rpm)の場合、ディスク1回転に要する時間は約11.111(ms)である。   The disk rotation time register 65 is a register that is a value set by the CPU 10 and stores a value of time required for one rotation of the HDD 2. When the rotational speed of the HDD 2 is 5400 (rpm), the time required for one rotation of the disk is approximately 11.111 (ms).

トラックあたりセクタ数レジスタ66は、CPU10によって設定される値であって、HDD2の1トラックあたりに含まれるセクタ数を記憶しておくレジスタである。上述したように、本実施形態に係るHDD2の1トラックあたりのセクタ数は1024である。   The sector number register 66 per track is a value set by the CPU 10 and stores the number of sectors included in one track of the HDD 2. As described above, the number of sectors per track of the HDD 2 according to the present embodiment is 1024.

応答時間差レジスタ68は、応答時間差計測部5によって計測された応答時間差を記憶しておくレジスタである。即ち、応答時間差レジスタ68が、回転位相差記憶部として機能する。応答時間差レジスタ68は、応答時間差更新許可レジスタ67に設定されたレジスタ値がイネーブルを示す値の場合に、応答時間差計測部5の出力値である“TcmpA−TcmpB”を取り込む。 The response time difference register 68 is a register for storing the response time difference measured by the response time difference measurement unit 5. That is, the response time difference register 68 functions as a rotational phase difference storage unit. The response time difference register 68 takes in “T cmpA −T cmpB ”, which is the output value of the response time difference measurement unit 5, when the register value set in the response time difference update permission register 67 is a value indicating enable.

応答時間差更新許可レジスタ67は、CPU10によって設定される値であって、応答時間差レジスタ68の値の更新を行うことを指定する値を記憶しておくレジスタである。CPU10は、応答時間差レジスタ68の更新を指示する際、応答時間差更新許可レジスタ67の値をイネーブルに対応する値に設定する。   The response time difference update permission register 67 is a register that stores a value that is set by the CPU 10 and that specifies that the value of the response time difference register 68 is updated. When instructing the update of the response time difference register 68, the CPU 10 sets the value of the response time difference update permission register 67 to a value corresponding to enable.

例えば、図2において説明したプログラム格納領域へのアクセスの際に、応答時間差更新許可レジスタ67の設定値をイネーブルに対応する値に設定しておくことで、OS起動時のリード動作で、応答時間差を更新することができる。また、HDD1とHDD2とが同型である場合にも、定常状態の回転数に微小な違いがあるため、長時間経過後には回転位相差が生じてしまうが、リードを実行する度に応答時間差を再計測するため、回転位相差の時間変化を補正することができる。   For example, when the program storage area described with reference to FIG. 2 is accessed, by setting the setting value of the response time difference update permission register 67 to a value corresponding to enable, the response time difference can be obtained in the read operation when the OS is started. Can be updated. Also, even if HDD1 and HDD2 are the same type, there is a slight difference in the rotational speed in the steady state, so that a rotational phase difference will occur after a long time has elapsed. In order to perform remeasurement, the temporal change of the rotational phase difference can be corrected.

また、バッファ領域にライトする前、または、後に、応答時間差更新許可レジスタ67をディスエーブルにすることで、ライト時とリード時のアドレス変換を同一にでき、バッファ領域のデータを何度もリードすることができる。 バッファ領域のデータが不要になった時点で、応答時間差更新許可レジスタ67をイネーブルにすることで、次のリード動作時に回転位相差の時間変化を補正することができる。   Also, by disabling the response time difference update permission register 67 before or after writing to the buffer area, address conversion at the time of writing and reading can be made the same, and data in the buffer area is read many times. be able to. By enabling the response time difference update permission register 67 when the data in the buffer area becomes unnecessary, it is possible to correct the time change of the rotational phase difference during the next read operation.

セクタアドレス演算部63は、制御コマンド判別部62から入力されるアクセス対象セクタアドレスの値、ディスク回転時間レジスタ65の設定値、トラックあたりセクタ数レジスタ66の設定値、応答時間差レジスタ68の設定値を用いて、変換後のセクタアドレスを演算する。本実施形態に係るトラックあたりのセクタ数は1024である。従って、各トラックにおけるセクタアドレスは通し番号であるセクタアドレスの下位10bitで表される。そのため、セクタアドレスの下位10bitに対して変換を実施する。即ち、セクタアドレス演算部63が、アドレス変換部として機能する。   The sector address calculation unit 63 receives the access target sector address value input from the control command determination unit 62, the set value of the disk rotation time register 65, the set value of the number of sectors per track register 66, and the set value of the response time difference register 68. To calculate the converted sector address. The number of sectors per track according to the present embodiment is 1024. Therefore, the sector address in each track is represented by the lower 10 bits of the sector address which is a serial number. Therefore, conversion is performed on the lower 10 bits of the sector address. That is, the sector address calculation unit 63 functions as an address conversion unit.

セクタアドレス演算部63による変換後のセクタアドレス下位10bitの計算は、“(変換後セクタアドレス下位10bit)=(アクセス対象セクタアドレス下位10bit)+(オフセットセクタ数)”という式によって行われる。但し、計算結果が11bit以上になる場合、11bit目を切り捨てる。この処理は、計算結果が1024よりも大きくなる場合に、1024を引く処理に等しい。   The calculation of the lower 10 bits of the converted sector address by the sector address calculation unit 63 is performed according to the formula: “(lower sector address after conversion 10 bits) = (lower address 10 bits of access target sector address) + (number of offset sectors)”. However, if the calculation result is 11 bits or more, the 11th bit is discarded. This process is equivalent to the process of subtracting 1024 when the calculation result is greater than 1024.

また、オフセットセクタ数の計算は、応答時間差がプラスの場合とマイナスの場合とで異なり、応答時間差がプラスの場合には、“(オフセットセクタ数)=(応答時間差)/(1セクタ分のヘッド通過時間)”という式によって行われる。更に、“(1セクタ分のヘッド通過時間)”は、ディスク回転時間レジスタ65の設定値及びトラックあたりセクタ数レジスタ66の設定値を用いて、“(ディスク1回転に要する時間)/(トラックあたりのセクタ数)”という式によって求められる。即ち、セクタアドレス演算部63が、アドレスオフセット量算出部として機能する。   The calculation of the number of offset sectors differs depending on whether the response time difference is positive or negative. When the response time difference is positive, “(offset sector number) = (response time difference) / (head for one sector” (Passing time) ". Further, “(head passing time for one sector)” is obtained by using the setting value of the disk rotation time register 65 and the setting value of the sector number per track register 66, “(time required for one disk rotation) / (per track). The number of sectors)) ”. That is, the sector address calculation unit 63 functions as an address offset amount calculation unit.

他方、応答時間差がマイナスの場合、オフセットセクタ数の計算は、“(オフセットセクタ数)=(応答時間差)/(1セクタ分のヘッド通過時間)+1024”という式によって行われる。“(1セクタ分のヘッド通過時間)”は、上記と同様である。   On the other hand, when the response time difference is negative, the number of offset sectors is calculated according to the formula: “(offset sector number) = (response time difference) / (head passing time for one sector) +1024”. “(Head passing time for one sector)” is the same as described above.

例えば、応答時間差が4(ms)、アクセス対象セクタアドレスが0x001F_F1AAである場合、回転位相差を相殺するオフセットセクタ数は、“4(ms)÷{11.111(ms)/1024}≒369”である。その結果、変換後セクタアドレスの下位10bitは、0x31Bとなり、変換後セクタアドレスは、0x001F_F31Bとなる。   For example, when the response time difference is 4 (ms) and the access target sector address is 0x001F_F1AA, the number of offset sectors for canceling the rotational phase difference is “4 (ms) ÷ {11.111 (ms) / 1024} ≈369” It is. As a result, the lower 10 bits of the post-conversion sector address are 0x31B, and the post-conversion sector address is 0x001F_F31B.

また、応答時間差が−4(ms)、アクセス対象セクタアドレスが0x001F_F1AAである場合、回転位相差を相殺するオフセットセクタ数は、“−4(ms)/{11.111(ms)/1024}+1024≒655”である。その結果、変換後セクタアドレスの下位10bitは、0x039となり、変換後セクタアドレスは、0x001F_F039となる。   When the response time difference is −4 (ms) and the access target sector address is 0x001F_F1AA, the number of offset sectors for canceling the rotational phase difference is “−4 (ms) / {11.111 (ms) / 1024} +1024. ≈655 ". As a result, the lower 10 bits of the post-conversion sector address are 0x039, and the post-conversion sector address is 0x001F_F039.

セクタアドレス演算部63は、変換後アドレスを含むSATA制御コマンドを生成し、セクタアドレス変換後コマンドとして、セレクタ61に入力する。これにより、セレクタ61は、制御コマンド判別部62から入力されるセレクト信号に従い、セクタアドレス演算部63から入力される変換後アドレスを選択してSATA制御部4へ送信する。   The sector address calculation unit 63 generates a SATA control command including the post-conversion address and inputs it to the selector 61 as the post-sector address conversion command. Accordingly, the selector 61 selects the post-conversion address input from the sector address calculation unit 63 according to the select signal input from the control command determination unit 62 and transmits it to the SATA control unit 4.

図6は、本実施形態に係るアドレス変換による効果を示す図である。図6は、定常回転中のHDD1及びHDD2の、あるトラックにおけるセクタアドレス位置のイメージ図である。尚、本実施形態においては、HDD1及びHDD2は同型である場合を例とする。通常、HDD毎の回転は同期していないため、同じセクタアドレス“000”にアクセスする場合でも、アクセス対象セクタがヘッドに到達するまでの回転待ち時間は異なる。   FIG. 6 is a diagram showing the effect of address conversion according to the present embodiment. FIG. 6 is an image diagram of sector address positions in a certain track of HDD 1 and HDD 2 during steady rotation. In this embodiment, the HDD 1 and the HDD 2 are the same type as an example. Usually, since the rotation for each HDD is not synchronized, even when the same sector address “000” is accessed, the rotation waiting time until the access target sector reaches the head is different.

これに対して、本実施形態に係る記憶媒体制御装置においては、HDD1へのアクセスを基準とし、HDD2へのアクセスについては、本来のアクセス対象セクタアドレス“000”の替わりに、回転待ち時間が同一になる変換後のセクタアドレス“XXX”にアクセスする。このため、HDD1及びHDD2において、回転待ち時間を揃えることができる。   On the other hand, in the storage medium control apparatus according to the present embodiment, the access to the HDD 1 is used as a reference, and the access to the HDD 2 has the same rotation waiting time instead of the original access target sector address “000”. The converted sector address “XXX” is accessed. For this reason, the rotation waiting time can be made uniform in HDD1 and HDD2.

即ち、本実施形態に係る記憶媒体制御装置においては、HDD2へのアクセスに際して、HDD1との回転位相差を相殺するようなアドレス変換を実施するため、HDD1及びHDD2の回転待ち時間を揃えることができる。その結果、複数のディスク型記憶装置を連携させて動作させる場合において、夫々のディスク型記憶装置の回転を同期させることなく、回転待ち時間をそろえてアクセス時間を短縮することが可能となる。   That is, in the storage medium control apparatus according to the present embodiment, when the HDD 2 is accessed, the address conversion is performed so as to cancel the rotational phase difference with the HDD 1, so that the rotation waiting times of the HDD 1 and the HDD 2 can be made uniform. . As a result, when a plurality of disk storage devices are operated in cooperation, the rotation waiting time can be aligned and the access time can be shortened without synchronizing the rotations of the respective disk storage devices.

実施の形態2.
実施の形態1においては、制御対象のHDDにおいて、バッファ領域が1つだけ設けられている場合を例として説明した。本実施形態においては、1つのHDDにおいて複数のバッファ領域が設けられている場合を例として説明する。尚、実施の形態1と同一の符号を付す構成については、同一、または相当部を示すものとし、詳細な説明を省略する。
Embodiment 2. FIG.
In the first embodiment, the case where only one buffer area is provided in the HDD to be controlled has been described as an example. In the present embodiment, a case where a plurality of buffer areas are provided in one HDD will be described as an example. In addition, about the structure which attaches | subjects the code | symbol same as Embodiment 1, it shall show the same or an equivalent part, and abbreviate | omits detailed description.

図7は、本実施形態に係るHDD1、2における記憶領域について示す図である。図2と同様に、1トラックあたりのセクタ数が1024セクタで一定であり、1セクタあたりの記憶容量が512ByteであるHDDを例としている。図7に示すように、本実施形態に係るHDD1、2においては、1GByteのバッファ領域が複数設けられている。そのため、本実施形態に記憶媒体制御装置においては、複数設けられたバッファ領域に対応するため、セクタアドレス変換部6の機能構成が実施の形態1とは異なる。   FIG. 7 is a diagram showing storage areas in the HDDs 1 and 2 according to the present embodiment. As in FIG. 2, an HDD having a constant number of sectors per track of 1024 sectors and a storage capacity per sector of 512 bytes is taken as an example. As shown in FIG. 7, the HDDs 1 and 2 according to the present embodiment are provided with a plurality of 1 Gbyte buffer areas. Therefore, in the storage medium control apparatus according to the present embodiment, the functional configuration of the sector address conversion unit 6 is different from that of the first embodiment in order to correspond to a plurality of buffer areas.

本実施形態に係るHDD1、2においては、外周トラックの4GByte(0x0000_0000〜0x007F_FFFF番地)分の領域が、各1GByteの4つのバッファ領域0、バッファ領域1、バッファ領域2、バッファ領域3として、一時データのライト/リードで使用される。HDD2の各バッファ領域にアクセスする場合には、各領域毎に、独立にセクタアドレス変換を実行する。HDD1のバッファ領域にアクセスする場合や、HDD1、2のプログラム格納領域にアクセスする場合には、セクタアドレス変換は実行しない。   In the HDDs 1 and 2 according to the present embodiment, the area corresponding to 4 GBytes (addresses 0x0000 — 0000 to 0x007F_FFFF) of the outer track is temporarily stored as four buffer areas 0, 1, 2, and 3 for 1 GByte each. Used for writing / reading. When accessing each buffer area of the HDD 2, sector address conversion is executed independently for each area. When accessing the buffer area of HDD1 or when accessing the program storage areas of HDD1 and 2, sector address conversion is not executed.

次に、本実施形態に係るセクタアドレス変換部6の機能構成について図8を参照して説明する。図8に示すように、本実施形態にセクタアドレス変換部6は、図5において説明した実施の形態1に係るセクタアドレス変換部6と略同一の構成を有し、制御コマンド判別部62に替えて制御コマンド判別部621、変換対象範囲レジスタ64に替えて変換対象範囲レジスタ641、応答時間差更新許可レジスタ67に替えて応答時間差更新許可レジスタ671、応答時間差レジスタ68に替えて、応答時間差レジスタ680〜683を含む。更に、バッファ領域判別部691及びセレクタ692を含む。   Next, the functional configuration of the sector address conversion unit 6 according to the present embodiment will be described with reference to FIG. As shown in FIG. 8, the sector address conversion unit 6 in this embodiment has substantially the same configuration as the sector address conversion unit 6 according to the first embodiment described in FIG. The control command discriminating unit 621, the conversion target range register 64 instead of the conversion target range register 641, the response time difference update permission register 67 instead of the response time difference update permission register 671, and the response time difference register 68 instead of the response time difference register 680 683 is included. Furthermore, a buffer area determination unit 691 and a selector 692 are included.

変換対象範囲レジスタ641は、CPU10によって設定される値であって、アドレス変換を実施する対象のHDD2におけるアドレス範囲を設定するための値を記憶しておくレジスタである。本実施形態においては、図7において説明したように、HDD2の4つのバッファ領域0[0x0000_0000〜0x001F_FFFF]、バッファ領域1[0x0020_0000〜0x003F_FFFF]、バッファ領域2[0x0040_0000〜0x005F_FFFF]、バッファ領域3[0x0060_0000〜0x007F_FFFF]が設定される。
The conversion target range register 641 is a register that is a value set by the CPU 10 and stores a value for setting an address range in the HDD 2 to be subjected to address conversion. In the present embodiment, as described in FIG. 7, four buffer areas 0 [0x0000 — 0000 to 0x001F_FFFF], buffer area 1 [0x0020 — 0000 to 0x003F_FFFF], buffer area 2 [0x0040 — 0000 to 0x005F_FFFF], buffer area 3 [0x0060_0000] ˜0x007F_FFFF] is set.

図9は、変換対象範囲レジスタ641における設定の例を示す図である。図9に示すように、変換対象範囲レジスタ641においては、バッファ領域0〜4の夫々について、アドレス範囲が設定されることによって、アドレス変換を実施する対象が設定される。   FIG. 9 is a diagram illustrating an example of setting in the conversion target range register 641. As shown in FIG. 9, in the conversion target range register 641, the address conversion target is set by setting the address range for each of the buffer areas 0 to 4.

制御コマンド判別部621は、SATA制御コマンド発部7から、HDD2を制御するためのSATA制御コマンドを受信する。そして、制御コマンド判別部621は、受信したコマンドがHDD2についてのリード/ライト対象セクタアドレスを設定するコマンドの場合であって、変換対象範囲レジスタ641において設定されている変換対象のセクタアドレス範囲である場合に、アドレス変換が必要であると判断する。 Control command determination unit 621, the SATA control command issuing unit 7 receives a SATA control command for controlling the HDD 2. The control command determination unit 621 is a conversion target sector address range set in the conversion target range register 641 when the received command is a command for setting a read / write target sector address for the HDD 2. In this case, it is determined that address conversion is necessary.

アドレス変換が必要であると判断した場合、制御コマンド判別部62は、セクタアドレス演算部63が出力するセクタアドレス変換後のコマンドを出力するように、セレクタ61に入力するセレクト信号を切り替えると共に、受信したSATA制御コマンドに含まれるセクタアドレス情報をセクタアドレス演算部63及びバッファ領域判別部691に入力する。セクタアドレス情報をバッファ領域判別部691にも入力することが、実施の形態1とは異なる点である。   If it is determined that the address conversion is necessary, the control command determination unit 62 switches the selection signal input to the selector 61 and receives the command so that the sector address conversion command output by the sector address calculation unit 63 is output. The sector address information included in the SATA control command is input to the sector address calculation unit 63 and the buffer area determination unit 691. The difference from Embodiment 1 is that the sector address information is also input to the buffer area determination unit 691.

応答時間差レジスタ680〜683は、応答時間差計測部5によって計測された応答時間差を記憶しておくレジスタである。応答時間差レジスタ680は、応答時間差更新許可レジスタ671のバッファ領域0についての設定がイネーブルの場合であって、バッファ領域判別部691の出力する選択信号がバッファ領域0を選択している場合に、応答時間差計測部5の出力値である“TcmpA−TcmpB”を取り込む。 The response time difference registers 680 to 683 are registers for storing the response time differences measured by the response time difference measurement unit 5. The response time difference register 680 responds when the setting for the buffer area 0 of the response time difference update permission register 671 is enabled and the selection signal output from the buffer area determination unit 691 selects the buffer area 0. “T cmpA −T cmpB ” that is an output value of the time difference measuring unit 5 is taken in.

応答時間差レジスタ681は、応答時間差更新許可レジスタ671のバッファ領域1についての設定がイネーブルの場合であって、バッファ領域判別部691の出力する選択信号がバッファ領域1を選択している場合に、応答時間差計測部5の出力値である“TcmpA−TcmpB”を取り込む。 The response time difference register 681 is a response when the setting for the buffer area 1 of the response time difference update permission register 671 is enabled and the selection signal output from the buffer area determination unit 691 selects the buffer area 1. “T cmpA −T cmpB ” that is an output value of the time difference measuring unit 5 is taken in.

応答時間差レジスタ682は、応答時間差更新許可レジスタ671のバッファ領域2についての設定がイネーブルの場合であって、バッファ領域判別部691の出力する選択信号がバッファ領域2を選択している場合に、応答時間差計測部5の出力値である“TcmpA−TcmpB”を取り込む。 The response time difference register 682 is a response when the setting for the buffer area 2 of the response time difference update permission register 671 is enabled and the selection signal output from the buffer area determination unit 691 selects the buffer area 2. “T cmpA −T cmpB ” that is an output value of the time difference measuring unit 5 is taken in.

応答時間差レジスタ683は、応答時間差更新許可レジスタ671のバッファ領域3についての設定がイネーブルの場合であって、バッファ領域判別部691の出力する選択信号がバッファ領域3を選択している場合に、応答時間差計測部5の出力値である“TcmpA−TcmpB”を取り込む。 The response time difference register 683 is a response when the setting for the buffer area 3 of the response time difference update permission register 671 is enabled and the selection signal output from the buffer area determination unit 691 selects the buffer area 3. “T cmpA −T cmpB ” that is an output value of the time difference measuring unit 5 is taken in.

応答時間差更新許可レジスタ671は、CPU10によって設定される値であって、応答時間差レジスタ680〜683夫々の値の更新を行うことを指定する値を記憶しておくレジスタである。即ち、応答時間差更新許可レジスタ671は、応答時間差レジスタ680〜683夫々の値の更新の可否を示す値を設定するためのイネーブルビットを含む。   The response time difference update permission register 671 is a register that stores values that are set by the CPU 10 and that specify that the values of the response time difference registers 680 to 683 are to be updated. That is, the response time difference update permission register 671 includes an enable bit for setting a value indicating whether or not each value of the response time difference registers 680 to 683 can be updated.

CPU10は、HDD2のバッファ領域0〜3にライトする前、または、後に、応答時間差更新許可レジスタ671のバッファ領域0〜3に対応するイネーブルビットをディスエーブルにすることで、ライト時とリード時のアドレス変換を同一にでき、バッファ領域のデータを何度もリードすることができるようになる。応答時間差レジスタ680〜683の更新/維持をそれぞれ独立に制御できるため、バッファ領域0〜3の用途を、1回のリードのみ実行するデータを記憶する領域と、2回以上のリードを実行するデータを記憶する領域で使い分けることができる。   The CPU 10 disables the enable bit corresponding to the buffer areas 0 to 3 of the response time difference update permission register 671 before or after writing to the buffer areas 0 to 3 of the HDD 2, so that the write time and the read time can be reduced. Address conversion can be made the same, and data in the buffer area can be read many times. Since the update / maintenance of the response time difference registers 680 to 683 can be controlled independently, the buffer areas 0 to 3 can be used for an area for storing data for executing only one read and data for executing two or more reads. Can be used properly in the memory area.

バッファ領域判別部691は、変換対象範囲レジスタ641の内容と、制御コマンド判別部621の出力するアクセス対象セクタアドレスの情報から、バッファ領域0〜3のうち、どの領域にアクセスするかを判別し、応答時間差レジスタ680〜683と、セレクタ692に対してバッファ領域選択信号を出力する。   The buffer area discriminating unit 691 discriminates which of the buffer areas 0 to 3 is to be accessed from the contents of the conversion target range register 641 and the access target sector address information output from the control command discriminating unit 621. A buffer area selection signal is output to the response time difference registers 680 to 683 and the selector 692.

図10は、バッファ領域判別部691によるバッファ領域の判別態様を示す図である。図10に示すように、本実施形態においては、バッファ領域0〜3と、応答時間差レジスタ680〜683とが夫々関連付けられている。このような判断手法は、例えば図10に示すようなテーブルの情報がバッファ領域判別部691に格納されていることにより実現される。   FIG. 10 is a diagram showing how the buffer area discriminating unit 691 discriminates the buffer area. As shown in FIG. 10, in this embodiment, buffer areas 0 to 3 and response time difference registers 680 to 683 are associated with each other. Such a determination method is realized, for example, by storing information of a table as illustrated in FIG. 10 in the buffer area determination unit 691.

そして、バッファ領域判別部691は、制御コマンド判別部621の出力するアクセス対象セクタアドレスの情報に基づいて図9において説明した設定値を参照することにより、アクセス対象のバッファ領域を判断する。また、その判断結果に基づいて図10に示すように対応する応答時間差レジスタ680〜683を選択する。   Then, the buffer area determination unit 691 determines the buffer area to be accessed by referring to the setting value described with reference to FIG. 9 based on the information on the access target sector address output from the control command determination unit 621. Based on the determination result, the corresponding response time difference registers 680 to 683 are selected as shown in FIG.

セレクタ692は、バッファ領域判別部691の出力する選択信号に従い、応答時間差レジスタ680〜683夫々から入力されるレジスタ値のうち、いずれか1つの値を選択してセクタアドレス演算部63に入力する。セクタアドレス演算部63は実施の形態1と同一の機能を有するが、セレクタ692によって選択されて出力されるレジスタ値を用いる点が実施の形態1と異なる。   The selector 692 selects any one of the register values input from the response time difference registers 680 to 683 in accordance with the selection signal output from the buffer area determination unit 691 and inputs the selected value to the sector address calculation unit 63. The sector address calculation unit 63 has the same function as in the first embodiment, but differs from the first embodiment in that a register value selected and output by the selector 692 is used.

このような構成によれば、実施の形態1において説明した効果に加えて、複数のバッファ領域を備えることで、1回のリードのみ実行するデータを記憶する領域と、2回以上のリードを実行するデータを記憶する領域を使い分けることができる。   According to such a configuration, in addition to the effects described in the first embodiment, by providing a plurality of buffer areas, an area for storing data to be executed only once and a read at least twice are executed. It is possible to use different areas for storing data to be used.

尚、実施の形態1、2においては、2つのHDDを用いる場合を例として説明した。しかしながら、これは一例であり、3つ以上のHDDを連携させる場合にも適用可能である。その場合、応答時間差レジスタ68の値は、複数のHDDのうちのいずれか1つを基準HDDとして定め、他のHDD夫々について基準HDDの応答時間との時間差を求めて設定される。そして、セクタアドレス演算部63は、基準HDD以外の夫々のHDDについて、夫々対応する応答時間差レジスタ68の設定値を用いてアドレスオフセット量を求めてアドレス変換を行う。   In the first and second embodiments, the case where two HDDs are used has been described as an example. However, this is an example, and the present invention can also be applied when three or more HDDs are linked. In this case, the value of the response time difference register 68 is set by determining any one of the plurality of HDDs as a reference HDD and obtaining a time difference from the response time of the reference HDD for each of the other HDDs. Then, the sector address calculation unit 63 performs address conversion by obtaining an address offset amount for each HDD other than the reference HDD by using the setting value of the corresponding response time difference register 68.

1、2 HDD
3、4 SATA制御部
5 応答時間差計測部
6 セクタアドレス変換部
7 SATA制御コマンド発行部
8 データ整形部
9 DMAC
10 CPU
11 RAM
61 セレクタ
62、621 制御コマンド判別部
63 セクタアドレス演算部
64、641 変換対象範囲レジスタ
65 ディスク回転時間レジスタ
66 トラックあたりセクタ数レジスタ
67、671 応答時間差更新許可レジスタ
68、680、681、682、683 応答時間差レジスタ
691 バッファ領域判別部
692 セレクタ
1, 2 HDD
3, 4 SATA control unit 5 Response time difference measurement unit 6 Sector address conversion unit 7 SATA control command issue unit 8 Data shaping unit 9 DMAC
10 CPU
11 RAM
61 Selector 62, 621 Control command determination unit 63 Sector address calculation unit 64, 641 Conversion target range register 65 Disk rotation time register 66 Sector number per track register 67, 671 Response time difference update enable register 68, 680, 681, 682, 683 Response Time difference register 691 Buffer area discriminator 692 Selector

特開平08−328759号公報JP 08-328759 A 特開2004−013827号公報JP 2004-013827 A

Claims (9)

複数のディスク型記憶装置を連携させて制御する記憶媒体制御装置であって、
前記複数のディスク型記憶装置における記憶媒体であるディスクの回転位相差を測定する位相差測定部と、
測定された回転位相差に相当する前記ディスク型記憶装置におけるアドレスのオフセット量を算出するアドレスオフセット量算出部と、
前記ディスク型記憶装置におけるアクセス対象のアドレスの指定を受け付けるアドレス指定受付部と、
前記アドレスオフセット量算出部において算出された前記アドレスオフセット量に基づき、指定された前記アクセス対象のアドレスを変換するアドレス変換部とを含むことを特徴とする記憶媒体制御装置。
A storage medium control device that controls a plurality of disk-type storage devices in cooperation with each other,
A phase difference measuring unit that measures a rotational phase difference of a disk that is a storage medium in the plurality of disk type storage devices;
An address offset amount calculation unit for calculating an address offset amount in the disk type storage device corresponding to the measured rotational phase difference;
An address designation accepting unit for accepting designation of an address to be accessed in the disk-type storage device;
Based on said offset amount of said address calculated in the address offset computing unit, a storage medium control apparatus, characterized in that it comprises an address converter for converting the specified address of the access target and the.
前記位相差測定部は、前記複数のディスク型記憶装置夫々から同一セクタをリードし、リード完了までに要した時間の差分に基づいて前記ディスクの回転位相差を測定することを特徴とする請求項1に記載の記憶媒体制御装置。   The phase difference measuring unit reads the same sector from each of the plurality of disk-type storage devices, and measures a rotational phase difference of the disk based on a time difference required for completion of reading. 2. The storage medium control device according to 1. 前記アドレス変換部は、指定された前記アクセス対象のアドレスが、前記ディスク型記憶装置におけるアドレスのうち変換対象として定められたアドレス範囲に含まれる場合にのみ、前記アドレスオフセット量に基づき、指定された前記アクセス対象のアドレスを変換することを特徴とする請求項1または2に記載の記憶媒体制御装置。 The address conversion unit is specified based on the offset amount of the address only when the specified address to be accessed is included in the address range determined as the conversion target among the addresses in the disk type storage device. 3. The storage medium control apparatus according to claim 1, wherein the address to be accessed is converted. 前記アドレス変換部は、
指定された前記アクセス対象のアドレスを示す信号及び変換されたアドレスのいずれかを出力するセレクタと、
前記変換対象として定められたアドレス範囲を記憶する変換対象アドレス範囲記憶部と、
指定された前記アクセス対象のアドレスが前記定められたアドレス範囲に含まれる場合、前記セレクタの出力を前記変換されたアドレスに切り替えるセレクタ制御部とを含むことを特徴とする請求項3に記載の記憶媒体制御装置。
The address conversion unit
A selector that outputs either a signal indicating the designated address to be accessed and a converted address;
A conversion target address range storage unit for storing an address range determined as the conversion target;
If the address of the designated the accessed is included in the address range determined above, according to claim 3, characterized in that it comprises a selector control unit for switching the output of said selector to said converted address Storage medium control device.
測定された前記回転位相差を記憶する回転位相差記憶部を含み、
前記アドレスオフセット量算出部は、記憶された前記回転位相差に基づいて前記アドレスのオフセット量を算出することを特徴とする請求項1乃至4いずれか1項に記載の記憶媒体制御装置。
A rotational phase difference storage unit for storing the measured rotational phase difference;
5. The storage medium control apparatus according to claim 1, wherein the address offset amount calculation unit calculates an offset amount of the address based on the stored rotational phase difference. 6.
前記アドレス変換部は、指定された前記アクセス対象のアドレスが、前記ディスク型記憶装置におけるアドレスのうち変換対象として定められたアドレス範囲に含まれる場合にのみ、前記アドレスオフセット量に基づき、指定された前記アクセス対象のアドレスを変換し、
前記位相差測定部は、前記変換対象として定められたアドレス範囲以外のアドレス範囲のリードの際に前記ディスクの回転位相差を測定して、測定した回転位相差を前記回転位相差記憶部に記憶させることを特徴とする請求項5に記載の記憶媒体制御装置。
The address conversion unit is specified based on the offset amount of the address only when the specified address to be accessed is included in the address range determined as the conversion target among the addresses in the disk type storage device. The address to be accessed is converted,
The phase difference measuring unit measures the rotational phase difference of the disk when reading an address range other than the address range determined as the conversion target, and stores the measured rotational phase difference in the rotational phase difference storage unit. The storage medium control device according to claim 5, wherein
前記ディスク型記憶装置におけるアドレスのうち変換対象として定められたアドレス範囲であって、異なる複数のアドレス範囲夫々に対応した複数の前記回転位相差記憶部を含み、
前記位相差測定部は、前記異なる複数のアドレス範囲毎に前記ディスクの回転位相差を測定し、測定した前記回転位相差を前記異なる複数のアドレス範囲毎に対応する前記回転位相差記憶部に記憶させることを特徴とする請求項に記載の記憶媒体制御装置。
An address range defined as a conversion target among addresses in the disk-type storage device, including a plurality of rotational phase difference storage units corresponding to different address ranges,
The phase difference measuring unit measures a rotational phase difference of the disk for each of the plurality of different address ranges, and stores the measured rotational phase difference in the rotational phase difference storage unit corresponding to the plurality of different address ranges. The storage medium control device according to claim 5 , wherein
請求項1乃至7いずれか1項に記載の記憶媒体制御装置を含むことを特徴とするディスク型記憶装置。   A disk-type storage device comprising the storage medium control device according to claim 1. 複数のディスク型記憶装置を連携させて制御する記憶媒体制御方法であって、
前記複数のディスク型記憶装置における記憶媒体であるディスクの回転位相差を測定し、
測定された回転位相差に相当する前記ディスク型記憶装置におけるアドレスのオフセット量を算出し、
前記ディスク型記憶装置におけるアクセス対象のアドレスの指定を受け付け、
算出された前記アドレスのオフセット量に基づき、指定された前記アクセス対象のアドレスを変換することを特徴とする記憶媒体制御方法。
A storage medium control method for controlling a plurality of disk storage devices in cooperation with each other,
Measuring a rotational phase difference of a disk as a storage medium in the plurality of disk-type storage devices;
Calculating an offset amount of the address in the disk type storage device corresponding to the measured rotational phase difference;
Accepting designation of an address to be accessed in the disk type storage device,
Based on the offset amount before Symbol address calculated, the control method of the storage medium characterized by converting the specified address of the access target was.
JP2013130598A 2013-06-21 2013-06-21 Storage medium control device, disk-type storage device, and storage medium control method Expired - Fee Related JP6171614B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013130598A JP6171614B2 (en) 2013-06-21 2013-06-21 Storage medium control device, disk-type storage device, and storage medium control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013130598A JP6171614B2 (en) 2013-06-21 2013-06-21 Storage medium control device, disk-type storage device, and storage medium control method

Publications (2)

Publication Number Publication Date
JP2015005178A JP2015005178A (en) 2015-01-08
JP6171614B2 true JP6171614B2 (en) 2017-08-02

Family

ID=52301008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013130598A Expired - Fee Related JP6171614B2 (en) 2013-06-21 2013-06-21 Storage medium control device, disk-type storage device, and storage medium control method

Country Status (1)

Country Link
JP (1) JP6171614B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7058442B2 (en) 2018-02-27 2022-04-22 株式会社イシダ Sealing device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016072049A1 (en) * 2014-11-07 2016-05-12 サンアプロ株式会社 Sulfonate compound, photoacid generator, and photolithographic resin composition

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04238152A (en) * 1991-01-22 1992-08-26 Toshiba Corp Disk controller
JPH05159440A (en) * 1991-12-06 1993-06-25 Hitachi Ltd Rotary type memory and parallel rotary type memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7058442B2 (en) 2018-02-27 2022-04-22 株式会社イシダ Sealing device

Also Published As

Publication number Publication date
JP2015005178A (en) 2015-01-08

Similar Documents

Publication Publication Date Title
JP4928100B2 (en) Controller apparatus and method for improved data transfer
KR100909119B1 (en) Apparatus and Method for High Performance Volatile Disk Drive Memory Access Using Integrated DMA Engine
JP2012509521A (en) System and method for recovering solid state drive data
JP2003131816A5 (en) Storage device and its control method
US20120331213A1 (en) Technique and apparatus for identifying cache segments for caching data to be written to main memory
WO2006035572A1 (en) Data interleave device
US20120221809A1 (en) Storage apparatus and data processing method of the same
JP3895610B2 (en) Image forming apparatus and image forming method
JP2017041076A (en) Storage controller, storage control method, and storage control program
JP2024533592A (en) Dynamic repartitioning of memory physical address mapping
JP6171614B2 (en) Storage medium control device, disk-type storage device, and storage medium control method
US7809899B2 (en) System for integrity protection for standard 2n-bit multiple sized memory devices
WO2013124753A1 (en) Writing new data of first block size to second block size using write-write mode
JP4972212B2 (en) Bridge circuit
JP4408840B2 (en) HDD controller and system equipped with the same
JP2003288317A (en) System and method for detecting and compensating for runt block data transfer
JP2018106573A (en) Storage control apparatus and control program
CA2370596C (en) Systems and methods for a disk controller memory architecture
JP2014191399A (en) Information processing system, storage device, and backup method
JPH0628261A (en) Method and device for data transfer
JP2001014112A (en) Disk subsystem and remote copying method
JPH02278417A (en) Sector address converting circuit
JP4209108B2 (en) Storage device control method, storage device used in this method, disk array device, and disk controller
US10853205B2 (en) Information processing apparatus, method of controlling the same and storage medium
JP2009211349A (en) Disk array control unit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170328

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170619

R151 Written notification of patent or utility model registration

Ref document number: 6171614

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees