JP2011048691A - Information processing apparatus and control device - Google Patents

Information processing apparatus and control device Download PDF

Info

Publication number
JP2011048691A
JP2011048691A JP2009197373A JP2009197373A JP2011048691A JP 2011048691 A JP2011048691 A JP 2011048691A JP 2009197373 A JP2009197373 A JP 2009197373A JP 2009197373 A JP2009197373 A JP 2009197373A JP 2011048691 A JP2011048691 A JP 2011048691A
Authority
JP
Japan
Prior art keywords
address
data
controller
command
output
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.)
Granted
Application number
JP2009197373A
Other languages
Japanese (ja)
Other versions
JP5216719B2 (en
Inventor
Tadashi Tsutsumi
匡史 堤
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
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 Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2009197373A priority Critical patent/JP5216719B2/en
Publication of JP2011048691A publication Critical patent/JP2011048691A/en
Application granted granted Critical
Publication of JP5216719B2 publication Critical patent/JP5216719B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To correctly supply erase data to a data storage device for executing queued and permuted commands, without accessing a system memory. <P>SOLUTION: A CPU 11 issues to a control device 13 a write command with a data address of the system memory 12 set for data writing and a write command with a predetermined address set for data erasing. When supplying the command to an HDD 2 and receiving a request for data to be written by the command from the HDD 2, a SATA controller 21 outputs the address of the data and sends the requested data to the HDD 2. A data selection part 23 supplies to the controller 21 erase data if the address from the controller 21 is the predetermined address and, if not, data at the address of the system memory 12. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、情報処理装置および制御装置に関するものである。   The present invention relates to an information processing apparatus and a control apparatus.

データ格納装置の一種であるハードディスクドライブのインタフェースには、SCSI(Small Computer System Interface)、ATA(Advanced Technology Attachment)などがある(例えば特許文献1参照)。さらに、データ転送の高速化のために、シリアルATAなどが実現されている。   As an interface of a hard disk drive which is a kind of data storage device, there are SCSI (Small Computer System Interface), ATA (Advanced Technology Attachment), and the like (see, for example, Patent Document 1). Further, serial ATA or the like has been realized for speeding up data transfer.

また、近年、ハードディスクドライブ内のデータの読み書きの高速化のために、シリアルATA方式のハードディスクドライブについてネイティブコマンドキューイング(Native Command Queuing:NCQ)が実現されている。   In recent years, native command queuing (NCQ) has been realized for serial ATA hard disk drives in order to speed up the reading and writing of data in the hard disk drives.

NCQでは、ハードディスクドライブは、複数のコマンドを受け取ると、コマンドの供給順序に拘わらずに、データアクセス時間が短くなるように複数のコマンドの実行順序を決定して、コマンドを実行する。そして、ライトコマンドの場合、コマンド実行時に、ハードディスクドライブが、書き込むためのデータをコントローラ側へ要求し、コントローラ側は、その要求に対応するデータをハードディスクドライブへ送信する。   In NCQ, when receiving a plurality of commands, the hard disk drive determines the execution order of the plurality of commands so as to shorten the data access time regardless of the command supply order, and executes the commands. In the case of a write command, the hard disk drive requests data to be written to the controller when executing the command, and the controller transmits data corresponding to the request to the hard disk drive.

特開2007−26440号公報JP 2007-26440 A

ハードディスクドライブのある記憶領域にイレース用データを上書きすることでその記憶領域のデータを消去するイレース処理を行うことがある。イレース用データは、意味のないデータである。イレース処理を行う場合、CPU(Central Processing Unit)などのプロセッサがイレースの対象となる記憶領域の各アドレスについてライトコマンドを発行してイレース用データを上書きさせることが考えられる。この場合、システムメモリにイレース用データが用意され、ライトコマンドに従って、コントローラがそのシステムメモリからそのイレース用データを読み出しハードディスクドライブに送信する。しかしながら、そのようにした場合、多数のライトコマンドに起因して、システムメモリとコントローラとの間の通信路(例えばバス)のトラフィックが増加し、その通信路を使用する別の処理に遅延が生じてしまう可能性がある。   An erase process may be performed to erase data in the storage area by overwriting the erase data in a storage area of the hard disk drive. The erase data is meaningless data. When performing an erase process, it is conceivable that a processor such as a CPU (Central Processing Unit) issues a write command for each address of a storage area to be erased to overwrite the erase data. In this case, erase data is prepared in the system memory, and in accordance with a write command, the controller reads the erase data from the system memory and transmits it to the hard disk drive. However, in such a case, due to a large number of write commands, traffic on the communication path (for example, bus) between the system memory and the controller increases, and another process using the communication path is delayed. There is a possibility that.

そこで、コントローラに対して直接、イレース用データを供給し、イレース処理時には、システムメモリへアクセスすることなく、イレース用データをハードディスクドライブへ供給することが考えられる。   Therefore, it is conceivable that erase data is directly supplied to the controller, and during the erase process, the erase data is supplied to the hard disk drive without accessing the system memory.

しかしながら、イレース処理と通常のデータライト処理とが混在して発生する場合、上述のNCQのように、ハードディスク側でコマンドの順番が変更されると、コントローラ側は、コマンド実行時にハードディスク側からデータを要求されたときに、イレース用データを供給するのか、通常のデータライト処理のためにシステムメモリ上のデータを供給するのかを判定することが困難である。   However, when erase processing and normal data write processing occur together, if the order of commands is changed on the hard disk side as in the above-mentioned NCQ, the controller side transfers data from the hard disk side when executing the command. When requested, it is difficult to determine whether to supply erase data or to supply data in the system memory for normal data write processing.

このように、コマンドをキューイングしコマンドの順番を並び替えて実行するハードディスクドライブへ、システムメモリへアクセスすることなく、イレース用データを正しく供給することが困難である。   As described above, it is difficult to correctly supply the erasing data without accessing the system memory to the hard disk drive for queuing the commands and rearranging the order of the commands.

なお、この問題は、ハードディスクドライブに限らず、コントローラから供給されたコマンドの実行順序を変更して最適化する他のデータ格納装置でも発生し得る。   This problem may occur not only in the hard disk drive but also in other data storage devices that optimize by changing the execution order of commands supplied from the controller.

本発明は、コマンドをキューイングしコマンドの順番を並び替えて実行するデータ格納装置へ、システムメモリへアクセスすることなく、イレース用データを正しく供給することができる情報処理装置および制御装置を得ることを目的とする。   The present invention provides an information processing apparatus and control apparatus that can correctly supply erasing data without accessing a system memory to a data storage apparatus that executes commands by queuing commands and rearranging the order of the commands. With the goal.

上記の課題を解決するために、本発明では以下のようにした。   In order to solve the above problems, the present invention is configured as follows.

本発明に係る情報処理装置は、システムメモリと、データ格納装置のある記憶領域へデータをライトする際に、システムメモリにおけるデータのアドレスをセットしたライトコマンドを制御装置に対して発行し、データ格納装置のある記憶領域のデータをイレースする際に、所定のアドレスをセットしたライトコマンドを制御装置に対して発行するコマンド発行手段と、イレース用データを生成するデータ生成部と、データ格納装置へコマンドを供給し、コマンドの実行時にそのコマンドで書き込まれるデータの要求をデータ格納装置から受信すると、そのデータのアドレスを出力し、そのアドレスに対応して供給されたデータをデータ格納装置へ送信するコントローラと、コントローラから出力されたアドレスがイレース時の所定のアドレスであるか否かを判定するアドレス判定部と、アドレス判定部により、コントローラから出力されたアドレスがイレース時の所定のアドレスであると判定された場合、データ生成部により生成されたデータをコントローラへ供給し、アドレス判定部により、コントローラから出力されたアドレスがイレース時の所定のアドレスではないと判定された場合、システムメモリ上のそのアドレスのデータをコントローラへ供給するデータ選択部とを備える。   The information processing apparatus according to the present invention, when writing data to a system memory and a storage area in the data storage device, issues a write command in which the address of the data in the system memory is set to the control device, and stores the data When erasing data in a storage area of the device, command issuing means for issuing a write command with a predetermined address set to the control device, a data generating unit for generating erase data, and a command to the data storage device When a command for data written by the command is received from the data storage device when the command is executed, the controller outputs the address of the data and transmits the data supplied corresponding to the address to the data storage device And the address output from the controller is the predetermined address at the time of erasing. If the address determination unit and the address determination unit determine that the address output from the controller is a predetermined address at the time of erasing, the data generated by the data generation unit is sent to the controller. And a data selection unit that supplies data of the address in the system memory to the controller when the address determination unit determines that the address output from the controller is not a predetermined address at the time of erasure.

これにより、データ格納装置から要求されるデータのアドレスに基づいて、イレース用データを供給すべきか否かが判定されるため、コマンドをキューイングしコマンドの順番を並び替えて実行するデータ格納装置へ、システムメモリへアクセスすることなく、イレース用データを正しく供給することができる。   Thus, since it is determined whether or not the erasing data should be supplied based on the address of the data requested from the data storage device, the command is queued and the data storage device that executes the command in the rearranged order. The erasing data can be correctly supplied without accessing the system memory.

本発明に係る制御装置は、イレース用データを生成するデータ生成部と、データ格納装置へコマンドを供給し、コマンドの実行時にそのコマンドで書き込まれるデータの要求をデータ格納装置から受信すると、そのデータのアドレスを出力し、そのアドレスに対応して供給されたデータをデータ格納装置へ送信するコントローラと、コントローラから出力されたアドレスがイレース時の所定のアドレスであるか否かを判定するアドレス判定部と、アドレス判定部により、コントローラから出力されたアドレスがイレース時の所定のアドレスであると判定された場合、データ生成部により生成されたデータをコントローラへ供給し、アドレス判定部により、コントローラから出力されたアドレスがイレース時の所定のアドレスではないと判定された場合、システムメモリ上のそのアドレスのデータをコントローラへ供給するデータ選択部とを備える。   The control device according to the present invention supplies a command to the data generation unit that generates the data for erasure and the data storage device, and receives a request for data written by the command when the command is executed from the data storage device. A controller for outputting the address of the data and transmitting the data supplied corresponding to the address to the data storage device, and an address determination unit for determining whether the address output from the controller is a predetermined address at the time of erasing When the address determination unit determines that the address output from the controller is a predetermined address at the time of erasing, the data generated by the data generation unit is supplied to the controller, and the address determination unit outputs the data from the controller. It is determined that the specified address is not the predetermined address at the time of erasing. If, and a data data selector for supplying to the controller address on the system memory.

これにより、データ格納装置から要求されるデータのアドレスに基づいて、イレース用データを供給すべきか否かが判定されるため、コマンドをキューイングしコマンドの順番を並び替えて実行するデータ格納装置へ、システムメモリへアクセスすることなく、イレース用データを正しく供給することができる。   Thus, since it is determined whether or not the erasing data should be supplied based on the address of the data requested from the data storage device, the command is queued and the data storage device that executes the command in the rearranged order. The erasing data can be correctly supplied without accessing the system memory.

また、本発明に係る制御装置は、上記の制御装置に加え、次のようにしてもよい。この場合、イレース時の所定のアドレスは、所定のアドレス領域におけるアドレスであり、アドレス判定部は、コントローラから出力されたアドレスがアドレス領域に属する場合、コントローラから出力されたアドレスがイレース時の所定のアドレスであると判定する。   In addition to the control device described above, the control device according to the present invention may be configured as follows. In this case, the predetermined address at the time of erasing is an address in a predetermined address area, and the address determination unit, when the address output from the controller belongs to the address area, the address output from the controller is the predetermined address at the time of erasing. It is determined that it is an address.

また、本発明に係る制御装置は、上記の制御装置のいずれかに加え、次のようにしてもよい。この場合、データ生成部は、コントローラから出力されたアドレスに応じて異なる値を有するイレース用データを生成する。   In addition to any of the above control devices, the control device according to the present invention may be configured as follows. In this case, the data generating unit generates erasing data having different values according to the address output from the controller.

また、本発明に係る制御装置は、上記の制御装置のいずれかに加え、次のようにしてもよい。この場合、イレース時の所定のアドレスは、複数のアドレス領域のいずれかにおけるアドレスであり、アドレス判定部は、コントローラから出力されたアドレスが複数のアドレス領域のいずれかに属する場合、コントローラから出力されたアドレスがイレース時の所定のアドレスであると判定し、データ生成部は、コントローラから出力されたアドレスが属するアドレス領域に応じて異なる値を有するイレース用データを生成する
In addition to any of the above control devices, the control device according to the present invention may be configured as follows. In this case, the predetermined address at the time of erasing is an address in one of a plurality of address areas, and the address determination unit outputs from the controller when the address output from the controller belongs to any of the plurality of address areas. The data generation unit generates erase data having different values depending on the address area to which the address output from the controller belongs.

また、本発明に係る制御装置は、上記の制御装置のいずれかに加え、次のようにしてもよい。この場合、イレース時の所定のアドレスは、システムメモリからデータ格納装置へデータを転送するために使用されるデータバッファのアドレス以外のアドレスである。   In addition to any of the above control devices, the control device according to the present invention may be configured as follows. In this case, the predetermined address at the time of erasing is an address other than the address of the data buffer used for transferring data from the system memory to the data storage device.

これにより、イレース用データのために、システムメモリの記憶領域を確保する必要がない。   Thus, it is not necessary to secure a storage area of the system memory for erasing data.

また、本発明に係る制御装置は、上記の制御装置のいずれかに加え、次のようにしてもよい。この場合、データ格納装置は、ネイティブコマンドキューイング機能を有するシリアルATA規格のハードディスクドライブであり、コントローラは、ネイティブコマンドキューイング機能を有するシリアルATA規格のハードディスクドライブのためのハードディクスドライブコントローラである。   In addition to any of the above control devices, the control device according to the present invention may be configured as follows. In this case, the data storage device is a serial ATA standard hard disk drive having a native command queuing function, and the controller is a hard disk drive controller for a serial ATA standard hard disk drive having a native command queuing function.

本発明によれば、コマンドをキューイングしコマンドの順番を並び替えて実行するデータ格納装置へ、システムメモリへアクセスすることなく、イレース用データを正しく供給することができる。   According to the present invention, it is possible to correctly supply erasing data to a data storage device that executes commands by queuing commands and rearranging the order of the commands without accessing the system memory.

図1は、本発明の実施の形態に係る情報処理装置の構成を示すブロック図である。FIG. 1 is a block diagram showing the configuration of the information processing apparatus according to the embodiment of the present invention. 図2は、図1に示す装置によるイレース処理および通常のデータライト処理を説明するフローチャートである。FIG. 2 is a flowchart for explaining erase processing and normal data write processing by the apparatus shown in FIG. 図3は、図1におけるSATAコントローラによるコマンド管理を説明する図である。FIG. 3 is a diagram for explaining command management by the SATA controller in FIG.

以下、図に基づいて本発明の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明の実施の形態に係る情報処理装置の構成を示すブロック図である。図1に示す情報処理装置1は、ハードディスクドライブ(HDD)2に接続されている。この実施の形態では、HDD2は、NCQ機能を有するシリアルATA規格のハードディスクドライブである。   FIG. 1 is a block diagram showing the configuration of the information processing apparatus according to the embodiment of the present invention. An information processing apparatus 1 shown in FIG. 1 is connected to a hard disk drive (HDD) 2. In this embodiment, the HDD 2 is a serial ATA standard hard disk drive having an NCQ function.

情報処理装置1は、CPU11、RAM(Random Access Memory)などのシステムメモリ12、および制御装置13を有する。CPU11、システムメモリ12および制御装置13は、バス14で互いに接続されている。バス14は、データバス、アドレスバスおよびコントロールバスを有する。情報処理装置1は、例えば、ASIC(Application Specific Integrated Circuit)として構成される。   The information processing apparatus 1 includes a CPU 11, a system memory 12 such as a RAM (Random Access Memory), and a control device 13. The CPU 11, the system memory 12, and the control device 13 are connected to each other via a bus 14. The bus 14 has a data bus, an address bus, and a control bus. The information processing apparatus 1 is configured as, for example, an ASIC (Application Specific Integrated Circuit).

CPU11は、図示せぬ記録媒体に格納されているプログラムに従って動作し、各種処理を実行するプロセッサである。CPU11は、HDD2のイレース処理時およびHDD2のデータライト処理時に、バス14を介してライトコマンドを制御装置13に供給する。ライトコマンドでは、HDD2におけるアドレスと、システムメモリ12におけるアドレスとが指定される。   The CPU 11 is a processor that operates according to a program stored in a recording medium (not shown) and executes various processes. The CPU 11 supplies a write command to the control device 13 via the bus 14 during the erase process of the HDD 2 and the data write process of the HDD 2. In the write command, an address in the HDD 2 and an address in the system memory 12 are designated.

CPU11は、HDD2のある記憶領域へデータをライトする際に、システムメモリ12におけるデータのアドレスをセットしたライトコマンドを制御装置13に対して発行し、HDD2のある記憶領域のデータをイレースする際に、システムメモリ12上のアドレスの代わりに所定のアドレスをセットしたライトコマンドを制御装置13に対して発行する。   When the CPU 11 writes data to a storage area in the HDD 2, the CPU 11 issues a write command that sets the address of the data in the system memory 12 to the control device 13, and when erasing the data in the storage area in the HDD 2. Then, a write command in which a predetermined address is set instead of the address on the system memory 12 is issued to the control device 13.

この実施の形態では、イレース処理時に設定されるアドレスは、連続する複数のアドレス(つまり、アドレス領域)のうちの1つであり、HDD2における連続する複数のデータ領域をイレースする場合には、その連続する複数のアドレスが順番にイレース処理時に設定される。   In this embodiment, the address set at the time of erasing is one of a plurality of continuous addresses (that is, an address area), and when erasing a plurality of continuous data areas in the HDD 2, A plurality of consecutive addresses are sequentially set during the erase process.

なお、イレース処理時に設定されるアドレスは、システムメモリ12からHDD2へデータを転送するために使用されるデータバッファのアドレス以外のアドレスである。   The address set during the erase process is an address other than the address of the data buffer used for transferring data from the system memory 12 to the HDD 2.

例えば、通常のデータライトの場合には、0x00000000〜0xBFFFFFFFのアドレス領域が使用され、イレースの場合には、0xC0000000〜0xFFFFFFFFのアドレス領域が使用される。イレース時に設定されるアドレスには、上述のアドレス領域内のアドレスが順番に使用され、上述のアドレス領域内の最後のアドレスの次のアドレスとして最初のアドレスが使用されるようにしてもよい。   For example, in the case of normal data write, the address area of 0x0000000 to 0xBFFFFFFF is used, and in the case of erase, the address area of 0xC0000000 to 0xFFFFFFFF is used. As addresses set at the time of erasing, addresses in the above address area may be used in order, and the first address may be used as the next address after the last address in the above address area.

システムメモリ12は、所定の記憶領域において、データライト処理でHDD2に書き込むためのデータを格納する。   The system memory 12 stores data to be written to the HDD 2 by data write processing in a predetermined storage area.

制御装置13は、HDD2用のホストコントローラである。制御装置13は、SATAコントローラ21、データ生成部22、データ選択部23、アドレス判定部24、およびダイレクトメモリアクセスコントローラ(DMAC)25を有する。   The control device 13 is a host controller for the HDD 2. The control device 13 includes a SATA controller 21, a data generation unit 22, a data selection unit 23, an address determination unit 24, and a direct memory access controller (DMAC) 25.

SATAコントローラ21は、HDD2へコマンドを供給し、コマンドの実行時にそのコマンドで書き込まれるデータの要求をHDD2から受信すると、そのデータのアドレスを出力し、そのアドレスに対応して供給されたデータをHDD2へ送信する。この実施の形態では、SATAコントローラ21は、ネイティブコマンドキューイング機能を有するシリアルATA規格のハードディスクドライブのためのHDDコントローラである。   When the SATA controller 21 supplies a command to the HDD 2 and receives a request for data to be written by the command when the command is executed from the HDD 2, the SATA controller 21 outputs an address of the data and the data supplied corresponding to the address is stored in the HDD 2. Send to. In this embodiment, the SATA controller 21 is an HDD controller for a serial ATA standard hard disk drive having a native command queuing function.

データ生成部22は、イレース用データを生成する回路である。   The data generation unit 22 is a circuit that generates erase data.

データ選択部23は、アドレス判定部24により、SATAコントローラ21から出力されたアドレスがイレース時の所定のアドレスであると判定された場合、データ生成部22により生成されたデータをSATAコントローラ21へ供給し、アドレス判定部24により、SATAコントローラ21から出力されたアドレスがイレース時の所定のアドレスではないと判定された場合、システムメモリ12上のそのアドレスのデータをDMAC25で読み出してSATAコントローラ21へ供給する回路である。   The data selection unit 23 supplies the data generated by the data generation unit 22 to the SATA controller 21 when the address determination unit 24 determines that the address output from the SATA controller 21 is a predetermined address at the time of erasure. When the address determination unit 24 determines that the address output from the SATA controller 21 is not the predetermined address at the time of erasing, the data of the address on the system memory 12 is read by the DMAC 25 and supplied to the SATA controller 21. It is a circuit to do.

アドレス判定部24は、SATAコントローラ21から出力されたアドレスがイレース時の所定のアドレスであるか否かを判定する回路である。この実施の形態では、アドレス判定部24は、SATAコントローラ21から出力されたアドレスが、上述の連続する複数のアドレスのうちのいずれかに一致する場合、SATAコントローラ21から出力されたアドレスが、イレース時の所定のアドレスであると判定する。   The address determination unit 24 is a circuit that determines whether the address output from the SATA controller 21 is a predetermined address at the time of erasing. In this embodiment, the address determination unit 24 determines that the address output from the SATA controller 21 is erased when the address output from the SATA controller 21 matches any of the plurality of consecutive addresses described above. It is determined that the address is a predetermined address.

DMAC25は、バス14に接続され、システムメモリ12にアクセスする回路である。   The DMAC 25 is a circuit that is connected to the bus 14 and accesses the system memory 12.

次に、上記装置の動作について説明する。   Next, the operation of the above apparatus will be described.

図2は、図1に示す装置によるイレース処理および通常のデータライト処理を説明するフローチャートである。   FIG. 2 is a flowchart for explaining erase processing and normal data write processing by the apparatus shown in FIG.

CPU11は、アプリケーションなどの各種処理においてイレース処理またはデータライト処理の要求が発生すると、バス14を介して、ライトコマンドを制御装置13に供給する。通常のデータライトのためのアドレス領域が0x00000000〜0xBFFFFFFFであり、イレースのためのアドレス領域が0xC0000000〜0xFFFFFFFFである場合、イレース処理のライトコマンドには、例えばアドレス0xD0000000がセットされ、通常のデータライト処理のライトコマンドには、例えばアドレス0x00000000がセットされる。   The CPU 11 supplies a write command to the control device 13 via the bus 14 when a request for an erase process or a data write process occurs in various processes such as an application. When the address area for normal data write is 0x0000000 to 0xBFFFFFFF and the address area for erase is 0xC0000000 to 0xFFFFFFFF, for example, address 0xD0000000 is set in the write command of the erase process, and the normal data write process For example, address 0x00000000 is set in the write command.

制御装置13のSATAコントローラ21は、そのライトコマンドを受信すると(ステップS1)、ATAのプロトコルに従って、そのライトコマンドに対応するコマンドをHDD2へ送信する(ステップS2)。   When receiving the write command (step S1), the SATA controller 21 of the control device 13 transmits a command corresponding to the write command to the HDD 2 according to the ATA protocol (step S2).

図3は、図1におけるSATAコントローラ21によるコマンド管理を説明する図である。図3に示すように、このとき、SATAコントローラ21は、HDD2へ送信するコマンドに固有の値のタグと、そのコマンドについてのアドレス(CPU11からのライトコマンドで指定されたアドレス、つまり、システムメモリ12のアドレスまたはイレース処理の所定のアドレス)とを互いに関連付けて保持する。一方、HDD2では、そのコマンドとともにタグが受信され、そのコマンドがキューイングされるとともに、そのタグがコマンドに関連付けられて保持される。   FIG. 3 is a diagram for explaining command management by the SATA controller 21 in FIG. As shown in FIG. 3, at this time, the SATA controller 21 sends a tag having a value specific to the command to be transmitted to the HDD 2 and an address about the command (the address specified by the write command from the CPU 11, that is, the system memory 12 Are stored in association with each other. On the other hand, the HDD 2 receives a tag together with the command, queues the command, and holds the tag in association with the command.

このようにして、CPU11からのライトコマンドごとに、SATAコントローラ21は、HDD2にコマンドを送信する。   In this way, the SATA controller 21 transmits a command to the HDD 2 for each write command from the CPU 11.

一方、HDD2では、キューイングされた複数のコマンドの実行順序が決定され、実行するコマンドのデータが、SATAコントローラ21に順番に要求される。このとき、上述のタグにより、実行するコマンドがSATAコントローラ21に通知される。   On the other hand, in the HDD 2, the execution order of a plurality of queued commands is determined, and data of commands to be executed are sequentially requested from the SATA controller 21. At this time, a command to be executed is notified to the SATA controller 21 by the above-described tag.

SATAコントローラ21は、そのデータ要求を受信すると(ステップS3)、指定されたタグに関連付けて保持しているアドレスを出力する。アドレス判定部24は、そのアドレスが上述のイレース処理時の所定のアドレスであるか否かを判定する(ステップS4)。通常のデータライトのためのアドレス領域が0x00000000〜0xBFFFFFFFであり、イレースのためのアドレス領域が0xC0000000〜0xFFFFFFFFである場合、例えばアドレス0xD0000000がSATAコントローラ21から出力されると、アドレス判定部24は、そのアドレスが上述のイレース処理時の所定のアドレスであると判定し、例えばアドレス0x00000000がSATAコントローラ21から出力されると、アドレス判定部24は、そのアドレスが上述のイレース処理時の所定のアドレスではないと判定する。   When receiving the data request (step S3), the SATA controller 21 outputs the address held in association with the designated tag. The address determination unit 24 determines whether or not the address is a predetermined address at the time of the erase process described above (step S4). When the address area for normal data write is 0x0000000-0xBFFFFFFF and the address area for erase is 0xC0000000-0xFFFFFFFF, for example, when the address 0xD0000000 is output from the SATA controller 21, the address determination unit 24 When it is determined that the address is a predetermined address at the time of the above-described erase process, and for example, address 0x00000000 is output from the SATA controller 21, the address determination unit 24 does not have the predetermined address at the time of the above-described erase process. Is determined.

アドレス判定部24は、SATAコントローラ21からのアドレスが上述のイレース処理時の所定のアドレスであると判定した場合、データ選択部23に、データ生成部22からのイレース用データを選択させる。データ選択部23は、そのイレース用データをSATAコントローラ21に供給し、SATAコントローラ21は、そのイレース用データをHDD2へ送信する(ステップS5)。HDD2は、そのデータを受信すると、コマンドに従って書き込む。   When the address determination unit 24 determines that the address from the SATA controller 21 is the predetermined address at the time of the above-described erase process, the address selection unit 24 causes the data selection unit 23 to select the erase data from the data generation unit 22. The data selector 23 supplies the erase data to the SATA controller 21, and the SATA controller 21 transmits the erase data to the HDD 2 (step S5). When the HDD 2 receives the data, it writes it according to the command.

一方、アドレス判定部24は、SATAコントローラ21からのアドレスが上述のイレース処理時の所定のアドレスではないと判定した場合、DMAC25に、システムメモリ12におけるそのアドレスからデータを読み出させる(ステップS6)。そして、アドレス判定部24は、データ選択部23に、その読み出されたデータを選択させる。データ選択部23は、そのデータをSATAコントローラ21に供給し、SATAコントローラ21は、そのデータをHDD2へ送信する(ステップS7)。HDD2は、そのデータを受信すると、コマンドに従って書き込む。   On the other hand, if the address determination unit 24 determines that the address from the SATA controller 21 is not the predetermined address at the time of the erase process, the address determination unit 24 causes the DMAC 25 to read data from the address in the system memory 12 (step S6). . Then, the address determination unit 24 causes the data selection unit 23 to select the read data. The data selection unit 23 supplies the data to the SATA controller 21, and the SATA controller 21 transmits the data to the HDD 2 (step S7). When the HDD 2 receives the data, it writes it according to the command.

このようにして、HDD2におけるコマンドの実行順序に沿って、適切に、そのコマンドに対応するデータ(イレース処理のためのイレース用データまたはデータライト処理のためのシステムメモリ12におけるデータ)が、HDD2に供給される。   In this way, data corresponding to the command (erase data for erase processing or data in the system memory 12 for data write processing) is appropriately stored in the HDD 2 in accordance with the command execution order in the HDD 2. Supplied.

以上のように、上記実施の形態によれば、CPU11は、HDD2のある記憶領域へデータをライトする際に、システムメモリ12におけるデータのアドレスをセットしたライトコマンドを制御装置13に対して発行し、HDD2のある記憶領域のデータをイレースする際に、所定のアドレスをセットしたライトコマンドを制御装置13に対して発行する。データ選択部23は、アドレス判定部24により、コントローラ21から出力されたアドレスがイレース時の所定のアドレスであると判定された場合、データ生成部22により生成されたデータをコントローラ21へ供給し、アドレス判定部24により、コントローラ21から出力されたアドレスがイレース時の所定のアドレスではないと判定された場合、システムメモリ12上のそのアドレスにおけるデータをコントローラ21へ供給する。SATAコントローラ21は、HDD2へコマンドを供給し、HDD2からコマンドの実行時にそのコマンドで書き込まれるデータの要求を受信すると、そのデータのアドレスを出力し、そのアドレスに対応して供給されたデータをHDD2へ送信する。   As described above, according to the above embodiment, when writing data to a storage area of the HDD 2, the CPU 11 issues a write command that sets the address of the data in the system memory 12 to the control device 13. When erasing data in a storage area of the HDD 2, a write command in which a predetermined address is set is issued to the control device 13. When the address determination unit 24 determines that the address output from the controller 21 is a predetermined address at the time of erasure, the data selection unit 23 supplies the data generated by the data generation unit 22 to the controller 21. When the address determination unit 24 determines that the address output from the controller 21 is not a predetermined address at the time of erasing, the data at the address on the system memory 12 is supplied to the controller 21. When the SATA controller 21 supplies a command to the HDD 2 and receives a request for data written by the command when the command is executed from the HDD 2, the SATA controller 21 outputs the address of the data, and the data supplied corresponding to the address is stored in the HDD 2. Send to.

これにより、HDD2から要求されるデータのアドレスに基づいて、イレース用データを供給すべきか否かが判定されるため、NCQ機能を有するHDD2へ、システムメモリ12へアクセスすることなく、イレース用データを正しく供給することができる。   Thus, since it is determined whether or not the erase data should be supplied based on the address of the data requested from the HDD 2, the erase data is transferred to the HDD 2 having the NCQ function without accessing the system memory 12. Can be supplied correctly.

なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。   The above-described embodiments are preferred examples of the present invention, but the present invention is not limited to these, and various modifications and changes can be made without departing from the scope of the present invention. is there.

例えば、上記実施の形態において、イレース用のアドレス領域として複数のアドレス領域を割り当て、ライトコマンドに設定されるアドレスの属するアドレス領域に応じて異なる値のイレース用データをHDD2へ供給するようにしてもよい。その場合、CPU11は、HDD2に供給すべき値に応じたアドレスをライトコマンドにセットし、アドレス判定部24は、SATAコントローラ21からのアドレスの属するアドレス領域を特定し、データ生成部22は、特定されたアドレス領域に対応する値のイレース用データをデータ選択部23へ出力する。   For example, in the above-described embodiment, a plurality of address areas may be allocated as erase address areas, and different values of erase data may be supplied to the HDD 2 depending on the address area to which the address set in the write command belongs. Good. In that case, the CPU 11 sets an address corresponding to the value to be supplied to the HDD 2 in the write command, the address determination unit 24 specifies the address area to which the address from the SATA controller 21 belongs, and the data generation unit 22 specifies The data for erasure having a value corresponding to the address area thus set is output to the data selection unit 23.

また、上記実施の形態において、HDD2の代わりに、コマンドをキューイングしコマンドの順番を並び替えて実行する他の形式のデータ格納装置を使用してもよい。   In the above embodiment, instead of the HDD 2, a data storage device of another format that executes commands by queuing commands and rearranging the order of the commands may be used.

本発明は、例えば、ハードディスクドライブ上のデータのイレースに適用可能である。   The present invention is applicable to, for example, erasing data on a hard disk drive.

1 情報処理装置
2 ハードディスクドライブ(データ格納装置の一例)
11 CPU(コマンド発行手段の一例)
12 システムメモリ
21 SATAコントローラ(コントローラの一例)
22 データ生成部
23 データ選択部
24 アドレス判定部
1 Information processing device 2 Hard disk drive (an example of a data storage device)
11 CPU (an example of command issuing means)
12 System memory 21 SATA controller (example of controller)
22 data generation unit 23 data selection unit 24 address determination unit

Claims (7)

コマンドをキューイングし前記コマンドの順番を並び替えて実行するデータ格納装置を制御する制御装置を有する情報処理装置において、
システムメモリと、
前記データ格納装置のある記憶領域へデータをライトする際に、前記システムメモリにおける前記データのアドレスをセットしたライトコマンドを前記制御装置に対して発行し、前記データ格納装置のある記憶領域のデータをイレースする際に、所定のアドレスをセットしたライトコマンドを前記制御装置に対して発行するコマンド発行手段と、
イレース用データを生成するデータ生成部と、
前記データ格納装置へコマンドを供給し、前記コマンドの実行時にそのコマンドで書き込まれるデータの要求を前記データ格納装置から受信すると、そのデータのアドレスを出力し、そのアドレスに対応して供給されたデータを前記データ格納装置へ送信するコントローラと、
前記コントローラから出力されたアドレスが前記イレース時の前記所定のアドレスであるか否かを判定するアドレス判定部と、
前記アドレス判定部により、前記コントローラから出力されたアドレスが前記イレース時の所定のアドレスであると判定された場合、前記データ生成部により生成されたデータを前記コントローラへ供給し、前記アドレス判定部により、前記コントローラから出力されたアドレスが前記イレース時の所定のアドレスではないと判定された場合、前記システムメモリ上のそのアドレスのデータを前記コントローラへ供給するデータ選択部と、
を備えることを特徴とする情報処理装置。
In an information processing apparatus having a control device that controls a data storage device that executes commands by queuing commands and rearranging the order of the commands,
System memory,
When writing data to a storage area in the data storage device, a write command in which the address of the data in the system memory is set is issued to the control device, and data in the storage area in the data storage device is Command issuing means for issuing a write command with a predetermined address set to the control device when erasing;
A data generator for generating data for erasure;
When a command is supplied to the data storage device and a request for data to be written by the command is received from the data storage device when the command is executed, the address of the data is output and the data supplied corresponding to the address is output A controller for transmitting to the data storage device;
An address determination unit that determines whether the address output from the controller is the predetermined address at the time of erasure;
When it is determined by the address determination unit that the address output from the controller is a predetermined address at the time of erasure, the data generated by the data generation unit is supplied to the controller, and the address determination unit A data selection unit for supplying data of the address on the system memory to the controller when it is determined that the address output from the controller is not a predetermined address at the time of erasing;
An information processing apparatus comprising:
当該制御装置からのコマンドをキューイングし前記コマンドの順番を並び替えて実行するデータ格納装置を制御する制御装置において、
イレース用データを生成するデータ生成部と、
前記データ格納装置へコマンドを供給し、前記コマンドの実行時にそのコマンドで書き込まれるデータの要求を前記データ格納装置から受信すると、そのデータのアドレスを出力し、そのアドレスに対応して供給されたデータを前記データ格納装置へ送信するコントローラと、
前記コントローラから出力されたアドレスがイレース時の所定のアドレスであるか否かを判定するアドレス判定部と、
前記アドレス判定部により、前記コントローラから出力されたアドレスが前記イレース時の所定のアドレスであると判定された場合、前記データ生成部により生成されたデータを前記コントローラへ供給し、前記アドレス判定部により、前記コントローラから出力されたアドレスが前記イレース時の所定のアドレスではないと判定された場合、システムメモリ上のそのアドレスのデータを前記コントローラへ供給するデータ選択部と、
を備えることを特徴とする制御装置。
In the control device that controls the data storage device that queues the commands from the control device and executes the commands in the rearranged order,
A data generator for generating data for erasure;
When a command is supplied to the data storage device and a request for data to be written by the command is received from the data storage device when the command is executed, the address of the data is output and the data supplied corresponding to the address is output A controller for transmitting to the data storage device;
An address determination unit that determines whether the address output from the controller is a predetermined address at the time of erasure;
When it is determined by the address determination unit that the address output from the controller is a predetermined address at the time of erasure, the data generated by the data generation unit is supplied to the controller, and the address determination unit A data selection unit that supplies data of the address on the system memory to the controller when it is determined that the address output from the controller is not a predetermined address at the time of erasing;
A control device comprising:
前記イレース時の所定のアドレスは、所定のアドレス領域におけるアドレスであり、
前記アドレス判定部は、前記コントローラから出力されたアドレスが前記アドレス領域に属する場合、前記コントローラから出力されたアドレスが前記イレース時の所定のアドレスであると判定すること、
を特徴とする請求項2記載の制御装置。
The predetermined address at the time of erasing is an address in a predetermined address area,
The address determination unit determines that the address output from the controller is a predetermined address at the time of erasure when the address output from the controller belongs to the address area;
The control device according to claim 2.
前記データ生成部は、前記コントローラから出力されたアドレスに応じて異なる値を有するイレース用データを生成することを特徴とする請求項2記載の制御装置。   The control device according to claim 2, wherein the data generation unit generates erasing data having different values according to an address output from the controller. 前記イレース時の所定のアドレスは、複数のアドレス領域のいずれかにおけるアドレスであり、
前記アドレス判定部は、前記コントローラから出力されたアドレスが前記複数のアドレス領域のいずれかに属する場合、前記コントローラから出力されたアドレスが前記イレース時の所定のアドレスであると判定し、
前記データ生成部は、前記コントローラから出力されたアドレスが属するアドレス領域に応じて異なる値を有するイレース用データを生成すること、
を特徴とする請求項2記載の制御装置。
The predetermined address at the time of erasing is an address in one of a plurality of address areas,
The address determination unit determines that the address output from the controller is a predetermined address at the time of erasure when the address output from the controller belongs to any of the plurality of address areas;
The data generation unit generates erasure data having different values depending on an address area to which an address output from the controller belongs;
The control device according to claim 2.
前記イレース時の所定のアドレスは、前記システムメモリから前記データ格納装置へデータを転送するために使用されるデータバッファのアドレス以外のアドレスであることを特徴とする請求項2または請求項3記載の制御装置。   4. The predetermined address at the time of erasing is an address other than an address of a data buffer used for transferring data from the system memory to the data storage device. Control device. 前記データ格納装置は、ネイティブコマンドキューイング機能を有するシリアルATA規格のハードディスクドライブであり、
前記コントローラは、ネイティブコマンドキューイング機能を有するシリアルATA規格のハードディスクドライブのためのハードディクスドライブコントローラであること、
を特徴とする請求項2記載の制御装置。
The data storage device is a serial ATA standard hard disk drive having a native command queuing function,
The controller is a hard disk drive controller for a serial ATA hard disk drive having a native command queuing function;
The control device according to claim 2.
JP2009197373A 2009-08-27 2009-08-27 Information processing apparatus and control apparatus Expired - Fee Related JP5216719B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009197373A JP5216719B2 (en) 2009-08-27 2009-08-27 Information processing apparatus and control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009197373A JP5216719B2 (en) 2009-08-27 2009-08-27 Information processing apparatus and control apparatus

Publications (2)

Publication Number Publication Date
JP2011048691A true JP2011048691A (en) 2011-03-10
JP5216719B2 JP5216719B2 (en) 2013-06-19

Family

ID=43834921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009197373A Expired - Fee Related JP5216719B2 (en) 2009-08-27 2009-08-27 Information processing apparatus and control apparatus

Country Status (1)

Country Link
JP (1) JP5216719B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013137772A (en) * 2011-12-27 2013-07-11 Apple Inc High-performance ahci interface

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005518681A (en) * 2001-03-20 2005-06-23 ワールドコム・インコーポレイテッド Shared dedicated access line (DAL) gateway to route discrimination
JP2006023854A (en) * 2004-07-06 2006-01-26 Sharp Corp Information processor, storage device, storage controller and program
JP2006031268A (en) * 2004-07-14 2006-02-02 Sharp Corp Information processor and storage controller
JP2006171907A (en) * 2004-12-13 2006-06-29 Kyocera Mita Corp Information processor and nonvolatile memory controller
JP2009187646A (en) * 2008-02-08 2009-08-20 Kyocera Mita Corp Encrypting/decrypting apparatus for hard disk drive, and hard disk drive apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005518681A (en) * 2001-03-20 2005-06-23 ワールドコム・インコーポレイテッド Shared dedicated access line (DAL) gateway to route discrimination
JP2006023854A (en) * 2004-07-06 2006-01-26 Sharp Corp Information processor, storage device, storage controller and program
JP2006031268A (en) * 2004-07-14 2006-02-02 Sharp Corp Information processor and storage controller
JP2006171907A (en) * 2004-12-13 2006-06-29 Kyocera Mita Corp Information processor and nonvolatile memory controller
JP2009187646A (en) * 2008-02-08 2009-08-20 Kyocera Mita Corp Encrypting/decrypting apparatus for hard disk drive, and hard disk drive apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013137772A (en) * 2011-12-27 2013-07-11 Apple Inc High-performance ahci interface
US8713204B2 (en) 2011-12-27 2014-04-29 Apple Inc. High-performance AHCI interface

Also Published As

Publication number Publication date
JP5216719B2 (en) 2013-06-19

Similar Documents

Publication Publication Date Title
JP4829365B1 (en) Data storage device and data writing method
US8171239B2 (en) Storage management method and system using the same
US20080320209A1 (en) High Performance and Endurance Non-volatile Memory Based Storage Systems
US20180275921A1 (en) Storage device
JP5275623B2 (en) Memory controller and memory system
US10209897B2 (en) Storage device and control method of the same
JP2000067574A (en) Semiconductor memory
JP5914148B2 (en) SSD (solid state drive) device
JP2012128644A (en) Memory system
US20080025706A1 (en) Information recording apparatus and control method thereof
JP2007011522A (en) Deletion method of data, storage device and computer system
JP2007233896A (en) Storage device and control method thereof
KR20190057779A (en) Device controller that schedules memory accesses to a host memory, and storage device including the same
JP2011018222A (en) Device and method for interleave control and memory system
JP2006178923A5 (en)
JP2007193865A (en) Information recording device and its control method
KR20180126656A (en) Data storage device and operating method thereof
KR20100102283A (en) Flash memory apparatus and method of controlling the same
KR101740679B1 (en) Storage device wihh bi-directional communication techniques and system including the same
JP5216719B2 (en) Information processing apparatus and control apparatus
JP2007011659A (en) Interface device, disk drive, and interface control method
JP2008108281A (en) Semiconductor disk device
JP2007280330A (en) Nonvolatile storage device and nonvolatile storage system
KR20210060253A (en) Memory controller, memory system and operationg method of the same
JP2020091776A (en) Information processing equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111025

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121120

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: 20130206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130304

R150 Certificate of patent or registration of utility model

Ref document number: 5216719

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees