JP6148996B2 - Apparatus and method for partitioned read-modify-write operations - Google Patents

Apparatus and method for partitioned read-modify-write operations Download PDF

Info

Publication number
JP6148996B2
JP6148996B2 JP2014050085A JP2014050085A JP6148996B2 JP 6148996 B2 JP6148996 B2 JP 6148996B2 JP 2014050085 A JP2014050085 A JP 2014050085A JP 2014050085 A JP2014050085 A JP 2014050085A JP 6148996 B2 JP6148996 B2 JP 6148996B2
Authority
JP
Japan
Prior art keywords
write
read
modify
track
band
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
JP2014050085A
Other languages
Japanese (ja)
Other versions
JP2014182865A (en
JP2014182865A5 (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.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
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
Priority claimed from US13/832,178 external-priority patent/US8879183B1/en
Application filed by Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of JP2014182865A publication Critical patent/JP2014182865A/en
Publication of JP2014182865A5 publication Critical patent/JP2014182865A5/ja
Application granted granted Critical
Publication of JP6148996B2 publication Critical patent/JP6148996B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本開示は、データ格納デバイスに関するものであり、より詳細には、例えば瓦磁気記録(SMR:shingled magnetic recording)などの、読み出し‐修正‐書き込み(RMW)操作を使用するデータ格納メモリに関するものである。   The present disclosure relates to data storage devices, and more particularly to data storage memories that use read-modify-write (RMW) operations, such as shingled magnetic recording (SMR). .

一実施形態では、装置は、少なくとも1つのトラックが隣接トラックおよびコントローラに部分的に重なる瓦様式で配列された、複数のデータトラックを有するトラックのバンドを含む、データ格納媒体を含み得る。コントローラは、各区分が少なくとも1つのトラックを包含する、少なくとも第1の区分および第2の区分にトラックのバンドを仮想的に分割するように、第1の区分のための第1の読み出し‐修正‐書き込み‐書き込み操作を行うように、ならびに第2の区分のための第2の読み出し‐修正‐書き込み‐書き込み操作を行うように、構成され得る。   In one embodiment, the apparatus may include a data storage medium that includes a band of tracks having a plurality of data tracks arranged in a tiled manner with at least one track partially overlapping adjacent tracks and the controller. The controller reads the first read-modify for the first partition so as to virtually divide the band of tracks into at least a first partition and a second partition, each partition including at least one track. It can be configured to perform a write-write operation and to perform a second read-modify-write-write operation for the second partition.

別の実施形態では、方法は、各区分が少なくとも1つのトラックを包含する、少なくとも第1の区分および第2の区分にデータ格納媒体のトラックの瓦バンドを分割することと、第1の区分のための第1の読み出し‐修正‐書き込み‐書き込み操作を行うことと、第2の区分のための第2の読み出し‐修正‐書き込み‐書き込み操作を行うことと、を含み得る。   In another embodiment, the method divides the roof band of the tracks of the data storage medium into at least a first partition and a second partition, each partition including at least one track; Performing a first read-modify-write-write operation for the second and performing a second read-modify-write-write operation for the second partition.

更に別の実施形態では、装置は、命令がプロセッサによって実行されると、プロセッサに方法を行なわせる、命令を格納するコンピュータで読み出し可能なデータ格納媒体を含むことができる。方法は、各区分が少なくとも1つのトラックを包含する、少なくとも第1の区分および第2の区分にデータ格納媒体のトラックの瓦バンドを分割することと、第1の区分のための第1の読み出し‐修正‐書き込み‐書き込み操作を行うことと、第2の区分のための第2の読み出し‐修正‐書き込み‐書き込み操作を行うことと、を含み得る。   In yet another embodiment, an apparatus can include a computer readable data storage medium that stores instructions that cause the processor to perform the method when the instructions are executed by the processor. The method divides the roof band of the tracks of the data storage medium into at least a first partition and a second partition, each partition including at least one track, and a first read for the first partition Performing a modify-write-write operation and performing a second read-modify-write-write operation for the second partition.

図1は、区分された読み出し‐修正‐書き込み操作のために設計されたシステムの例示的な実施形態の図である。FIG. 1 is a diagram of an exemplary embodiment of a system designed for partitioned read-modify-write operations. 図2は、区分された読み出し‐修正‐書き込み操作を用いる使用のための瓦記録の例示的な実施形態の図である。FIG. 2 is a diagram of an exemplary embodiment of a shingled record for use with segmented read-modify-write operations. 図3は、区分された読み出し‐修正‐書き込み操作を用いる使用のための瓦記録の別の例示的な実施形態の図である。FIG. 3 is a diagram of another exemplary embodiment of a shingled record for use with segmented read-modify-write operations. 図4は、区分された読み出し‐修正‐書き込み操作を用いる使用のための瓦記録を備えるシステムの別の例示的な実施形態の図である。FIG. 4 is a diagram of another exemplary embodiment of a system with shingled records for use with segmented read-modify-write operations. 図5は、区分された読み出し‐修正‐書き込み操作の方法の例示的な実施形態のフローチャートである。FIG. 5 is a flowchart of an exemplary embodiment of a method for partitioned read-modify-write operations. 図6は、区分された読み出し‐修正‐書き込み操作の方法の例示的な実施形態の別のフローチャートである。FIG. 6 is another flowchart of an exemplary embodiment of a method of partitioned read-modify-write operations. 図7は、区分された読み出し‐修正‐書き込み操作を用いる使用のための瓦記録の別の例示的な実施形態の図である。FIG. 7 is a diagram of another exemplary embodiment of a shingled record for use with partitioned read-modify-write operations. 図8は、区分された読み出し‐修正‐書き込み操作を用いる使用のための瓦記録の別の例示的な実施形態の図である。FIG. 8 is a diagram of another exemplary embodiment of a shingled record for use with segmented read-modify-write operations.

実施形態の以下の詳細な説明において、本明細書の一部を形成し、その明細書において特定の実施形態の例示として示される、添付の図面に対する参照がなされる。他の実施形態が利用され得ることと、構造的変更が本開示の範囲から逸脱することなくなされ得ることとが理解されるべきである。   In the following detailed description of the embodiments, reference is made to the accompanying drawings that form a part hereof, and which are shown by way of illustration of specific embodiments in the specification. It is to be understood that other embodiments can be utilized and structural changes can be made without departing from the scope of the present disclosure.

図1は、一般に100で指定された、区分された読み出し‐修正‐書き込み操作のためのシステムの実施形態を描写する。システム100は、ホスト102とデータ格納デバイス(DSD)104とを含み得る。ホスト102はまた、ホストシステムまたはホストコンピュータとも呼ばれ得る。ホスト102は、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、タブレットコンピュータ、電話、音楽プレーヤ、別の電子デバイス、またはそれらの任意の組み合わせとすることができる。同様に、DSD104は、上に挙げたデバイスのいずれか、またはハードディスクドライブ(HDD)もしくはハイブリッドディスクドライブなどの、データを格納するか検索するために使用され得る任意の他のデバイスであり得る。ホスト102およびDSD104は、有線もしくは無線接続などのインターフェースによって、またはローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN)によって接続され得る。いくつかの実施形態では、DSD104は、ホスト102に直接接続されない独立型デバイスとすることができ、またはホスト102とDSD104の両方は、単一ユニットの一部であってもよい。   FIG. 1 depicts an embodiment of a system for partitioned read-modify-write operations, generally designated 100. The system 100 can include a host 102 and a data storage device (DSD) 104. Host 102 may also be referred to as a host system or host computer. The host 102 can be a desktop computer, laptop computer, server, tablet computer, phone, music player, another electronic device, or any combination thereof. Similarly, the DSD 104 can be any of the devices listed above, or any other device that can be used to store or retrieve data, such as a hard disk drive (HDD) or a hybrid disk drive. Host 102 and DSD 104 may be connected by an interface, such as a wired or wireless connection, or by a local area network (LAN) or a wide area network (WAN). In some embodiments, the DSD 104 may be a stand-alone device that is not directly connected to the host 102, or both the host 102 and the DSD 104 may be part of a single unit.

DSD104は、1つ以上の不揮発性のメモリを含むことができる。描写された実施形態では、DSD104は、回転可能なディスクメモリ106を含むことができる。他の実施形態では、DSD104は、揮発性および不揮発性の固体メモリを含む、付加的なメモリまたはメモリの類いを包含し得る。例えば、DSD104は、ディスクメモリ106と不揮発性の固体メモリ108との両方を備えるハイブリッドHDDとすることができる。   The DSD 104 can include one or more non-volatile memories. In the depicted embodiment, the DSD 104 can include a rotatable disk memory 106. In other embodiments, the DSD 104 may include additional memory or memory types, including volatile and non-volatile solid state memory. For example, the DSD 104 may be a hybrid HDD that includes both the disk memory 106 and the nonvolatile solid-state memory 108.

システム100の実施形態では、ディスクメモリ106は、瓦磁気記録(SMR)を使用して瓦データトラック上にデータを格納するように構成された1つ以上のゾーンを有することができる。SMRは、ディスク上のデータ記録密度を増やすための記録システムであり、それによって、データの少なくとも1つのトラックは、隣接データトラックに部分的に重なる。SMRは、図2〜図4に関してより詳細に記述されることになる。   In an embodiment of the system 100, the disk memory 106 may have one or more zones configured to store data on roof tile data tracks using roof magnetic recording (SMR). SMR is a recording system for increasing the data recording density on a disc, whereby at least one track of data partially overlaps adjacent data tracks. SMR will be described in more detail with respect to FIGS.

SMRは、ディスク幅で1つの半径方向における書き込み操作を実行する方式であり、そこでは、トラックが、屋根瓦と類似して互いに部分的に重なる。図2を参照すると、書き込みが、瓦‐書き込み方式で矢印で示された方向に行われることが想定される場合、書き込みがトラックN上で行われると、隣接トラックN‐1は、部分的に重なる。また、書き込みがトラックN+1上で行われると、隣接トラックNは部分的に重なる。記録方法によって、各トラックが意図された重なり無しで書き込まれる当該記録方法とは対照的に、SMRは、格納媒体の半径方向における記録密度としてトラック/インチ(TPI)特性の増加を結果としてもたらすことができる。   SMR is a method of performing a write operation in one radial direction at the disk width, where the tracks partially overlap each other similar to a roof tile. Referring to FIG. 2, when it is assumed that writing is performed in the direction indicated by the arrow in the tile-writing method, when writing is performed on the track N, the adjacent track N-1 is partially Overlap. When writing is performed on track N + 1, adjacent tracks N partially overlap. In contrast to the recording method in which each track is written without the intended overlap by the recording method, SMR results in an increase in track / inch (TPI) characteristics as the recording density in the radial direction of the storage medium. Can do.

更に、SMRは、1つの方向に流れを生成することができる。従って、Nトラックが書き込まれた後にN‐1トラックが書き込まれ得ないという制約が、満たされるべきである。図3に例示されるように、トラックN上に書き込んだ後に、トラックN‐1が瓦記録方向の逆方向に書き込まれる場合、トラックNは、重なりまたは隣接トラック干渉(ATI:Adjacent Track Interference)に起因して読み出し不可能になり得る。従って、トラックNが記録された後にトラックN‐1に記録されたデータ、あるいはトラックN+1が記録された後にトラックNに記録されたデータを変更することは、単にいつでも上書きされ得る非瓦トラックとは異なる書き込み方策を必要とする。   Furthermore, SMR can generate a flow in one direction. Therefore, the constraint that N-1 tracks cannot be written after N tracks have been written should be satisfied. As illustrated in FIG. 3, when the track N-1 is written in the reverse direction of the tile recording direction after writing on the track N, the track N is overlapped or adjacent to track interference (ATI). Due to this, reading may become impossible. Therefore, changing the data recorded on track N-1 after recording track N or the data recorded on track N after recording track N + 1 is simply a non-tile track that can be overwritten at any time. Requires a different writing strategy.

次に図4を見ると、区分された読み出し‐修正‐書き込み操作のための瓦記録を用いるシステムの別の例示的な実施形態の図が示される。回転ディスク媒体402は、複数のゾーン(例えば、ゾーン1、ゾーン2など)に分割され得、各ゾーンは、複数のデータトラックを包含し得る。   Turning now to FIG. 4, a diagram of another exemplary embodiment of a system using shingled records for segmented read-modify-write operations is shown. The rotating disk medium 402 may be divided into a plurality of zones (eg, zone 1, zone 2, etc.), and each zone may contain a plurality of data tracks.

SMRの単一の書き込み方向に起因して、トラックNが書き込まれた後に所与のトラックN‐1を書き込むことは、トラックN‐1に続く全ての瓦トラック(すなわち、トラックN、トラックN+1、トラックN+2など)を書き換えることを必要とする。これを現実的に達成するために、1組のトラックは、バンドが、ガードトラックで終了する、「バンド」にグループ化され得る。いくつかの実施形態では、ガードトラックは、非瓦トラック、またはデータを記録するために使用されない瓦トラックとすることができる。トラックN‐1が書き込まれることを必要とする場合、トラックN‐1からガードトラックまでは書き換えられ得、一方で、他のバンド内のトラックは影響を及ぼされ得ない。従って、各ゾーンにおけるトラックは、複数のバンドに分割され得る。図4の実施形態例に描写されるように、ゾーン1はバンド0(B_0)からバンドk(B_k)までを包含することができ、一方で、ゾーン2はバンドk+1(B_k+1)、バンドk+2(B_k+2)などを包含することができる。ある実施形態例では、各ゾーンは、100個のデータトラックを包含し得、100個のデータトラックは、10個のトラックをそれぞれ包含する10個のバンドに分割され得る。各トラックは、複数の論理的ブロックアドレス(LBA)と関連付けられたデータセクタに更に分割され得、データは、各LBAに格納されることができる。   Due to the single writing direction of the SMR, writing a given track N-1 after track N has been written will result in all tile tracks following track N-1 (ie, track N, track N + 1, Track N + 2 etc.) needs to be rewritten. To achieve this realistically, a set of tracks can be grouped into “bands” where the band ends with a guard track. In some embodiments, the guard track can be a non-tile track or a tile track that is not used to record data. If track N-1 needs to be written, track N-1 to the guard track can be rewritten, while tracks in other bands cannot be affected. Accordingly, the track in each zone can be divided into a plurality of bands. As depicted in the example embodiment of FIG. 4, zone 1 can encompass band 0 (B_0) through band k (B_k), while zone 2 includes band k + 1 (B_k + 1), band k + 2 ( B_k + 2) and the like. In an example embodiment, each zone may contain 100 data tracks, and the 100 data tracks may be divided into 10 bands each containing 10 tracks. Each track may be further divided into data sectors associated with a plurality of logical block addresses (LBA), and data may be stored in each LBA.

ある実施形態では、SMRを使うDSDは、バンド内の瓦トラックのデータセクタに対応する1つ以上のLBAを上書きするために、書き込みコマンドを受信し得る。書き込まれることになるデータは、ホストデバイス、DSDの媒体キャッシュ、または別の位置から来得る。書き込みコマンドを実行するために、バンドの複数のトラックを読み出し、書き込みコマンドに基づいて読み出されたデータを修正し、次いで、修正されたデータをバンドに書き戻す必要があり得る。これは、読み出し‐修正‐書き込み操作(RMW)、またはSMRデバイスについてより詳細には、バンド化された読み出し‐書き込み操作(BRO:Banded Read‐write Operation)と呼ばれ得る。トラックから読み出されたデータは、バッファまたはレジスタなどの揮発性のメモリ内に一時的に格納され得、そのメモリで、そのデータは、バンドに書き戻される前に修正される。   In an embodiment, a DSD using SMR may receive a write command to overwrite one or more LBAs corresponding to the data sectors of the roof track in the band. The data to be written can come from the host device, the DSD media cache, or another location. In order to execute a write command, it may be necessary to read multiple tracks of the band, modify the read data based on the write command, and then write the modified data back into the band. This may be referred to as a read-modify-write operation (RMW), or more specifically for a SMR device, a banded read-write operation (BRO). Data read from a track can be temporarily stored in volatile memory, such as a buffer or register, where the data is modified before being written back to the band.

例えば、書き込みコマンドが、バンド1内のトラックのデータセクタと関連付けられたLBAを含む場合、データは、バンド1から揮発性のメモリに読み出され得、書き込みコマンドに従って修正され得る。DSDが、修正されたデータをバンド1に書き戻すことを開始し、予期しない電力障害が生じる場合、いくつかのデータは、修復不可能なほど失われる可能性がある。例えば、電力障害が生じたときにトラックNが部分的に書き込まれた場合、トラックN+1は、隣接トラック干渉に起因して読み出し不可能である可能性がある。揮発性のメモリ内のトラックN+1の内容も同様に失われ得るので、トラックN+1についてのデータを回復する手法は無いであろう。   For example, if the write command includes an LBA associated with the data sector of a track in band 1, the data can be read from band 1 into volatile memory and modified according to the write command. If DSD begins to write modified data back to band 1 and an unexpected power failure occurs, some data may be lost beyond repair. For example, if track N was partially written when a power failure occurred, track N + 1 may not be readable due to adjacent track interference. Since the contents of track N + 1 in volatile memory can be lost as well, there would be no way to recover the data for track N + 1.

そのような問題を回避する1つの解決策は、RMW操作の代わりに読み出し‐修正‐書き込み‐書き込み(RMWW)を行うことであり得る。図5を参照すると、読み出し‐修正‐書き込み‐書き込み操作の例示的な実施形態のフローチャートが示され、一般に500で指定される。方法は、502で、主格納デバイス上に位置するバンド1からデータを読み出すことと、それをバッファに格納することと、を含むことができる。主格納デバイスは、瓦ディスク型メモリ、RMW操作を必要とする不揮発性の固体メモリ、またはRMW操作を使用し得る任意の他の種類のメモリとすることができる。バッファは、DRAMなどの揮発性の固体メモリまたはフラッシュメモリなどの不揮発性の固体メモリとすることができる。データが一旦バッファ内にあると、504で、そのデータは、新たなもしくは他のデータで修正され得るか併合され得る。限定されるものではないが、新たなデータを書き込むこと、既存のデータを修正すること、バンドをクリーニングすること、またはそれらの任意の組み合わせを含むデータ操作が、行われ得る。   One solution to avoid such problems may be to perform read-modify-write-write (RMWW) instead of RMW operations. Referring to FIG. 5, a flowchart of an exemplary embodiment of a read-modify-write-write operation is shown, designated generally at 500. The method may include, at 502, reading data from band 1 located on the main storage device and storing it in a buffer. The main storage device can be a tiled disk type memory, a non-volatile solid state memory that requires RMW operation, or any other type of memory that can use RMW operation. The buffer can be a volatile solid-state memory such as DRAM or a non-volatile solid-state memory such as flash memory. Once the data is in the buffer, at 504, the data can be modified or merged with new or other data. Data manipulations can be performed including, but not limited to, writing new data, modifying existing data, cleaning a band, or any combination thereof.

あらゆる修正が一旦完了すると、修正されたデータは、506で、バッファから利用可能な不揮発性のメモリ領域に書き込まれ得る。ある実施形態では、これは、ディスク上のスクラッチパッド領域、フラッシュメモリなどの異なる不揮発性のメモリ、またはそれらの任意の組み合わせであり得る。更に、以下に記載されるように、複数のスクラッチパッドが使用され得、異なるサイズとすることができ、および同じ格納媒体上にあってもよいし、なくてもよい。   Once any modification is complete, the modified data may be written 506 to a non-volatile memory area available from the buffer. In certain embodiments, this may be a scratchpad area on the disk, a different non-volatile memory such as flash memory, or any combination thereof. Further, as described below, multiple scratch pads can be used, can be of different sizes, and may or may not be on the same storage medium.

修正されたデータはまた、元のデータが読み出された同じバンドに対して、508で、主格納デバイスに書き戻され得、あるいは異なるバンドに書き込まれ得る。RMWW操作を行うことは、データ損失に対する保護に役立つように、冗長性の層を加える。例えば、電力損失がスクラッチパッドへの書き込みの間に生じる場合、元のデータは、バンド1内で依然として安全であるべきである。バンド1への書き込みの間に電力損失が生じる場合、修正されたデータは、スクラッチパッド内で安全確実にされるべきである。   The modified data can also be written back to the main storage device at 508 for the same band from which the original data was read, or it can be written to a different band. Performing RMWW operations adds a layer of redundancy to help protect against data loss. For example, if power loss occurs during writing to the scratchpad, the original data should still be safe in band 1. If power loss occurs during writing to band 1, the modified data should be secured within the scratchpad.

RMWW方法は、データが主格納媒体からスクラッチパッドに伝送されるように、データを格納するためのバッファに頼り得る。問題は、バッファが、伝送されることになるバンド内のデータの全てを保持するのに十分に大きくないときに起こり得る。これらの問題は、バンド上のデータの任意の一片への変更が、バンド全体に対する読み出しまたは書き込みを必要とし得るために、起こり得る。例えば、100メガバイトバンド上の2キロバイトの一片のデータが変更されるとき、100メガバイト全体が、バッファに読み出されるかバッファから書き込まれる必要があり得る。バンドサイズは、縮小される必要があり得、またはバッファサイズは、バッファ容量問題を回避するために増大される必要があり得る。   The RMWW method may rely on a buffer for storing data so that the data is transmitted from the main storage medium to the scratchpad. The problem can occur when the buffer is not large enough to hold all of the data in the band to be transmitted. These problems can occur because changes to any piece of data on a band can require reading or writing to the entire band. For example, when a piece of 2 kilobytes on the 100 megabyte band is changed, the entire 100 megabyte may need to be read into or written from the buffer. The band size may need to be reduced, or the buffer size may need to be increased to avoid buffer capacity issues.

バッファサイズ決定の問題への解決策は、RMWW操作を行う目的のために、選択されるトラックの読み出し区分にバンドを分割することであり得る。各区分は、複数のトラックを包含することができ、トラックの断片は、サイズを固定され得るか動的にすることができ、バンドにわたってLBA順序を上げて指定され得る。データ操作が行われる必要があるとき、バンド全体ではなく、区分だけが、修正される必要があり得、時間を節約し、バッファサイズを縮小する。   A solution to the buffer sizing problem may be to divide the band into the read sections of the selected track for the purpose of performing RMWW operations. Each partition can contain multiple tracks, and the track fragments can be fixed in size or dynamic and can be specified with increasing LBA order across the band. When data manipulation needs to be performed, only the partition, not the entire band, may need to be modified, saving time and reducing the buffer size.

バンドを区分に分割することの欠点は、バンド内に物理的ガードトラックが無いことである。ガードトラックが無いと、トラックNの破損が、トラックN‐1が修正されたときに生じる可能性がある。この問題を克服するために、論理的ガードトラックが、区分の最後に物理的ガードトラックの代わりに実装され得、瓦データの層を書き込むときに制御および柔軟性を可能にする。論理的ガードトラックは、幅で少なくとも1つのトラックであり得、ユーザがアクセス可能なバンド領域内に移動され得る。論理的ガードトラックは、浮動的であり得、すなわち、それは、区分化進行として移動することができる。更に、1以上の論理的ガードトラックがバンド内で使用され得る。   The disadvantage of dividing the band into sections is that there is no physical guard track in the band. Without a guard track, damage to track N can occur when track N-1 is modified. To overcome this problem, a logical guard track can be implemented in place of the physical guard track at the end of the partition, allowing control and flexibility when writing a layer of tile data. The logical guard track can be at least one track in width and can be moved into a band area accessible to the user. The logical guard track can be floating, i.e. it can move as a segmentation progression. In addition, one or more logical guard tracks can be used in the band.

読み出し‐修正‐書き込み操作の区分する方法は、Nトラックを包含しトラックAで開始する区分(区分1)内のデータが、トラックAからNまで、主格納部からバッファに読み出され得るときに、働き得る。さまざまな実施形態では、トラックAは、バンド内の第1の物理的に位置するトラックであり得、あるいは、RMW操作は、書き換えられる必要があるものよりもバンドの最後からそのような部分のためにだけ行われ得るので、バンド内の別のトラックであり得る。例えば、全ての併合がバンドの最後の3つのトラック内にある場合、それらの書き込みは前に生じたトラックと干渉するべきではないので(すなわち、最後のトラックが最後のトラックの次のものに重なる、重なりの方向が生じる場合)、それらの3つのトラックだけが、書き換えられる必要があり得る。しかしながら、データがバンドの第1のトラック内で変更されることになる場合、そのバンドの全トラックは、RMW操作において書き換えられる必要があるべきである。   The method of partitioning the read-modify-write operation is when data in a partition (section 1) including N tracks and starting with track A can be read from the main storage to the buffer from track A to N. Can work. In various embodiments, track A may be the first physically located track in the band, or the RMW operation is for such a portion from the end of the band rather than what needs to be rewritten. So it can be done only in a different track in the band. For example, if all merges are in the last three tracks of the band, their writing should not interfere with previously occurring tracks (ie, the last track overlaps the next of the last track) If the direction of overlap occurs), only those three tracks may need to be rewritten. However, if the data is to be changed in the first track of the band, all tracks in that band should need to be rewritten in the RMW operation.

選択されたデータがバッファ内にあった後、データ操作は、任意の新たなデータを既存のデータと併合することなどの、データを修正するために行われ得る。データ操作が一旦完了すると、トラックAからNまでを含む修正されたデータは、第1のスクラッチパッド(spA)に書き込まれ得る。次いで、ここではspA内にある、修正されたトラックAからN‐1までは、主格納部におけるそれぞれのバンドに書き込まれ得る。トラックN‐1への書き込みは、トラックNを破損し得るので、トラックNは、トラックNからのデータが、バッファ内にあり、またspA内に現在格納され得るので、主格納部上の論理的ガードトラックとみなされ得る。いくつかの状況では、読み出し操作がこの処理の間に実行されると、主格納媒体上の、論理的ガードトラック、トラックN上のデータが破損され得るときなど、スクラッチパッド内のデータが直近に修正され得るか単に有効なコピーであり得るので、そのような読み出しは、それぞれのスクラッチパッドに向けられ得る。   After the selected data is in the buffer, data manipulation can be performed to modify the data, such as merging any new data with the existing data. Once the data operation is complete, the modified data including tracks A through N can be written to the first scratch pad (spA). The modified tracks A through N-1, now in spA, can then be written to the respective bands in the main store. Writing to track N-1 can corrupt track N, so track N is a logical on the main store because the data from track N is in the buffer and can now be stored in spA. It can be considered a guard track. In some situations, when a read operation is performed during this process, the data in the scratchpad is most recently updated, such as when the data on the main storage medium, logical guard track, track N can be corrupted. Such a read can be directed to the respective scratchpad, as it can be modified or simply a valid copy.

更に、第2の区分は、現在のRMWW操作の一部としてまだ修正されていない次に生じるトラックであって、所与の例ではトラックN+1からMまでを包含し得るトラックのために選択され得る。第2の区分からのデータは、主格納部からバッファに読み出され得、修正され得、そのバッファはまた、トラックNを依然として包含し得る。第2の区分は、次いでspBに書き込まれ得、トラックNはまた、バッファ内で利用可能であり得るので、トラックNからMまでを包含するspBを結果としてもたらし得る。第2の区分がspBに格納された後、次いで、修正されたトラックNからM‐1までが、主格納部に書き込まれ得る。この時点において、主格納部上のトラックAからM‐1までは、有効なデータを包含し得、Mは、論理的ガードトラックであり得る。この処理は、バンド内の全区分がRMWW操作を経るまで複数回繰り返すことができ、そうして、バンド全体についてのRMWW操作の完了をもたらし、それは、バンドのデータ容量が、RMWW操作を行うために使用される関連付けられたバッファのサイズよりも大きいときに、有用であり得る。   Further, the second partition may be selected for tracks that occur next that have not yet been modified as part of the current RMWW operation, and may include tracks N + 1 through M in the given example. . Data from the second partition may be read from the main store into a buffer and modified, and the buffer may also still contain track N. The second segment can then be written to spB, and track N can also be available in the buffer, resulting in spB encompassing tracks N through M. After the second partition is stored in spB, the modified tracks N through M-1 can then be written to the main storage. At this point, tracks A through M-1 on the main storage may contain valid data, and M may be a logical guard track. This process can be repeated multiple times until all segments in the band have undergone an RMWW operation, thus resulting in completion of the RMWW operation for the entire band, because the data capacity of the band performs the RMWW operation. May be useful when it is larger than the size of the associated buffer used.

図6を参照すると、読み出し‐修正‐書き込み操作の区分する方法の例示的な実施形態のフローチャートが示され、一般に600で指定される。いくつかの例では、方法600は、システムが、関連付けられたバッファ内に格納されることが可能なものよりも大きなデータサイズを有する主格納部内に格納されたデータのためのRMW操作を行うことを可能にし得る。そのようなシステムの例は、瓦トラックのバンドを有するディスクに関して上記の図面に示される。方法600は、それぞれが、関連付けられたバッファ空間内に格納され得るものよりも多くのデータを包含し得る各バンドが、1つ以上のトラックを包含する区分に分割されることを可能にし、方法600は、各区分のための読み出し‐修正‐書き込み‐書き込み(RMWW)操作を行うことができる一方で、論理的ガードバンドを実装することができる。   Referring to FIG. 6, a flowchart of an exemplary embodiment of a method for partitioning a read-modify-write operation is shown, generally designated 600. In some examples, the method 600 allows the system to perform an RMW operation for data stored in a main store that has a data size that is larger than can be stored in an associated buffer. Can make it possible. An example of such a system is shown in the above figures for a disk having a tile track band. The method 600 allows each band that can contain more data than can be stored in the associated buffer space to be divided into sections that contain one or more tracks, and While 600 can perform read-modify-write-write (RMWW) operations for each partition, it can implement a logical guard band.

いくつかの実施形態では、バンドは、全バンド上でRMWW操作を行う目的のために、複数の仮想区分に分割され得る。方法600では、602で、第1の区分が読み出され得、また、Nトラックを包含し得る、最初のトラック、トラックXからトラックYまでを含み得る。XおよびYを含めた、トラックXからYまでにおいて割り当てられたデータの量は、関連付けられたバッファのサイズを超えるべきではない。更に、XおよびYを含めた、トラックXからYまでにおいて割り当てられたデータの量は、第1のスクラッチパッド(spA)のサイズを超えるべきではない。データ操作、例えば、選択されたトラックからのデータを、ホストから受信した任意の新たなデータで修正することなどが、604で、バッファ内のデータ上で行われ得る。   In some embodiments, a band may be divided into multiple virtual partitions for the purpose of performing RMWW operations on all bands. In method 600, at 602, the first segment may be read and may include the first track, track X through track Y, which may include N tracks. The amount of data allocated in tracks X through Y, including X and Y, should not exceed the size of the associated buffer. Furthermore, the amount of data allocated in tracks X through Y, including X and Y, should not exceed the size of the first scratch pad (spA). Data manipulation, such as modifying data from the selected track with any new data received from the host, may be performed on the data in the buffer at 604.

606で、トラックYが、バンド内の最後のトラックともみなされ得る、物理的ガードトラックであるかどうかを決定するための検査が行われ得、その場合において、論理的ガードトラックは必要とされ得ない。本明細書に記載した例のいくつかにおいて、バンドの最後のトラックは、物理的ガードトラックであると想定され得るが、あるものは、非ガードトラックとしてバンドの最後のトラックを定義することができ、定義されたバンドの一部として物理的ガードトラックを含むことができず、そのような場合において、本明細書に与えられた例へのわずかな変形が、同様に達成され得る。   At 606, a check can be made to determine if track Y is a physical guard track that can also be considered the last track in the band, in which case no logical guard track can be required. . In some of the examples described herein, the last track of a band can be assumed to be a physical guard track, but one can define the last track of a band as a non-guard track. It is not possible to include a physical guard track as part of a defined band, in which case slight variations to the examples given here can be achieved as well.

続けると、Yが物理的ガードトラックではない場合、608で、トラックXからYまでにおけるデータは、バッファからspAに格納され得る。Yが物理的ガードトラックである場合、610で、トラックXからY‐1までのデータは、spAに格納され得る。これは、物理的ガードトラック上のデータが、もしあれば、読み出し不可能であり得るか使用不可能であり得るからであり、それ故、物理的ガードトラックは、アドレスをマップされた格納位置を包含し得ない。処理の将来の反復において、選択されたデータは、spB内に格納され得る。   Continuing, if Y is not a physical guard track, at 608, data on tracks X through Y can be stored from the buffer into spA. If Y is a physical guard track, at 610, data from track X to Y-1 may be stored in spA. This is because the data on the physical guard track, if any, may be unreadable or unusable, so the physical guard track will store the address mapped storage location. Cannot be included. In future iterations of the process, the selected data can be stored in spB.

選択されたデータがspAもしくはspBに一旦格納されると、トラックXからY‐1までが、612で、主格納デバイスに格納され得る。瓦格納システムにおいて、Y‐1への書き込みは、トラックYにおけるデータを破損し得、トラックYが破損することになることをもたらし、それ故、トラックYのデータのコピーをspAもしくはspB(またはそうすることが望まれている場合には両方)に保持することは、論理的ガードトラックを作成することができる一方で、バンドを区分することができる。データを対応するバンド内のトラックY‐1に書き込む前に、データをトラックYからspAもしくはspB(または別の位置)に書き込む失敗は、トラックY上のデータの損失を結果としてもたらし得る。   Once the selected data is stored in spA or spB, tracks X through Y-1 can be stored at 612 in the main storage device. In a roof storage system, writing to Y-1 can corrupt data on track Y, resulting in track Y being corrupted, thus making a copy of track Y's data spA or spB (or so) Holding on to both) can create a logical guard track while partitioning bands while it is desired. Failure to write data from track Y to spA or spB (or another location) before writing data to track Y-1 in the corresponding band may result in loss of data on track Y.

現在の区分が主データ格納デバイスに一旦書き込まれると、方法600は、区分されたRMWW操作をまだ経ていない選択されたバンドの更なる区分があるかどうかを判断し得る。選択されたバンドに対応する区分の全てが書き込まれた場合、および書き込むための選択されたバンドの更なる区分が無い場合、すなわち、全バンドまたはバンドの適用可能な区分がRMWW操作を経た場合、処理は616で終了し得る。トラックの別の区分が必要とされると、618で、Xは、Zxだけ増分され得、Yは、Zyだけ増分され得る。ある実施形態では、Zxは、Y‐X+1に等しくすることができ、Zyは、Zx以上とすることができる。ZxがY‐X+1に等しいと、次の区分の新たに開始するトラックは、論理的ガードトラックよりも1つ高いトラックであるべきであり、前の論理的ガードトラック、Y‐1からのデータは、バッファ内にあり得るか、あるいはspAもしくはspBに前に格納され得る。   Once the current partition is written to the main data storage device, the method 600 may determine if there are further partitions for the selected band that have not yet undergone a partitioned RMWW operation. If all of the sections corresponding to the selected band have been written, and there are no further sections of the selected band to write, i.e. all bands or applicable sections of bands have undergone an RMWW operation, Processing may end at 616. If another segment of the track is needed, at 618, X can be incremented by Zx and Y can be incremented by Zy. In some embodiments, Zx can be equal to Y−X + 1 and Zy can be greater than or equal to Zx. If Zx is equal to YX + 1, the newly started track in the next segment should be one higher than the logical guard track, and the data from the previous logical guard track, Y-1, is Can be in a buffer, or previously stored in spA or spB.

例えば、6つのトラックを包含する区分は、トラック100で開始し得、トラック105に論理的ガードトラックを有するトラック105で終了し得る。これは、Zx=6であることをもたらし得、それ故、次の区分の第1のトラック、トラックXをトラック100からトラック106に移動させる。Zy=Zxであると、区分内の最後のトラック、トラックYはまた、6つのトラックだけシフトされ、トラック105からトラック111に移動する。区分サイズは処理の各反復を通して同じままであろうから、Zx=Zyに設定することが望ましいであろう。しかしながら、いくつかの実施形態では、処理の反復のいくつかまたは全ての間にトラックサイズを区分的に増加させることは有利であり得、その場合において、Zxよりも大きな値またはZxよりも小さな値にZyを設定する必要があり得る。例えば、6つのトラックを包含する区分が、トラック100で開始し、トラック105で終了しており、以下のように増分される場合を考える。すなわち、X=X+ZxおよびY=Y+Zy、ここで、Zx=Y‐X+1、Zy=Y‐X+2である。そのように増分する方式の下で、区分内の第1のトラックは、トラック100からトラック106に移動され得、区分内の最後のトラックは、トラック105からトラック112に移動され得、結果として生じた区分は、6つではなくて7つのトラックを包含する。それ故、ZxやZyは、システムの選択に基づいて、各反復のための値を変更し得、それは、バッファまたはスクラッチパッド領域における最大効率に対応し得る。   For example, a segment containing six tracks may begin with track 100 and end with track 105 having a logical guard track on track 105. This may result in Zx = 6, thus moving the first track of the next segment, track X, from track 100 to track 106. If Zy = Zx, the last track in the segment, track Y, is also shifted by 6 tracks and moves from track 105 to track 111. Since the partition size will remain the same throughout each iteration of the process, it may be desirable to set Zx = Zy. However, in some embodiments, it may be advantageous to increase the track size piecewise during some or all of the processing iterations, in which case a value greater than or less than Zx. May need to be set to Zy. For example, consider the case where a segment containing six tracks starts at track 100 and ends at track 105 and is incremented as follows. That is, X = X + Zx and Y = Y + Zy, where Zx = Y−X + 1 and Zy = Y−X + 2. Under such an incrementing scheme, the first track in the segment can be moved from track 100 to track 106, and the last track in the segment can be moved from track 105 to track 112, resulting in The section contains seven tracks instead of six. Therefore, Zx and Zy may change the value for each iteration based on system choice, which may correspond to maximum efficiency in the buffer or scratchpad area.

XやYが、それぞれ、ZxやZyで増分された後、論理的ガードトラックが必要とされ得ない場合にトラックYが物理的ガードトラックであるときを決定する必要があり得る。その処理は、物理的ガードトラックに達するまでまたはシステムが選択されたバンドの全てについてのRMWW操作を完了するまで、繰り返され得る。それ故、スクラッチパッドspAおよびspBは、どれくらいの区分があるかに関わらず、処理全体を通して、交互とすることができる。スクラッチパッドの数を2つに限定するという規則はないが、必要なら、より多くのスクラッチパッドが使用され得る。   After X and Y are incremented by Zx and Zy, respectively, it may be necessary to determine when track Y is a physical guard track if a logical guard track cannot be required. The process can be repeated until a physical guard track is reached or until the system completes the RMWW operation for all of the selected bands. Therefore, the scratch pads spA and spB can alternate throughout the process, regardless of how many sections are present. There is no rule to limit the number of scratch pads to two, but more scratch pads can be used if necessary.

図7は、読み出し‐修正‐書き込み操作の区分する方法の例示的な実施形態である。例示的な処理は、トラックt_beginで開始し、t_lastで終了することができる。この例の目的のために、t_lastは、選択されたバンドの最後のトラックまたは物理的ガードトラックである。バンドがRMW操作を経ることになっている場合、データは、702で、トラックt_beginからt_Nまで、データ操作が行われ得るバッファに読み出され得る。トラックt_beginからt_Nまでに対応する修正されたデータは、また702で、第1のスクラッチパッド(spA)に格納され得る。これは、706で、トラックt_N‐1が上書きされるときに、トラックNのためのデータのコピーは、主格納部上で破損され得るけれども、スクラッチパッド内に格納されることを確実にする。トラックN内のデータは、ここで、論理的ガードトラックとみなされ得る。次に、トラックt_N+1からt_Rまでは、708で、主格納部からバッファに読み出され得、修正され得、spBに格納され得る。次いで、データは、主格納部に書き込まれ得、それは、トラックt_beginからt_R‐1までが、現在のRMW操作の一部として主データ格納媒体内に格納されることを結果としてもたらし得、それ故、トラックt_Rは、論理的ガードトラックとなることになる。   FIG. 7 is an exemplary embodiment of a method for partitioning read-modify-write operations. An exemplary process may begin at track t_begin and end at t_last. For purposes of this example, t_last is the last track or physical guard track of the selected band. If the band is to undergo an RMW operation, the data can be read at 702 from the track t_begin to t_N into a buffer where data operations can be performed. The modified data corresponding to tracks t_begin through t_N may also be stored at 702 on the first scratch pad (spA). This ensures at 706 that when track t_N-1 is overwritten, a copy of the data for track N can be corrupted on the main store, but stored in the scratchpad. The data in track N can now be considered as a logical guard track. Next, tracks t_N + 1 through t_R can be read from the main storage to the buffer at 708, modified, and stored in spB. The data can then be written to the main storage, which can result in tracks t_begin through t_R-1 being stored in the main data storage medium as part of the current RMW operation, hence , Track t_R becomes a logical guard track.

処理は、異なるサイズのバンドに適応するよう容易に拡張され得る。この実施形態では、処理は、バンドの最後まで続く。714で、トラックt_last‐x+1からt_last‐1までのデータが、バッファに読み出され、修正される。t_last‐xはまたバッファ内に依然としてあるべきであるので、トラックt_last‐xからt_last‐1までは、スクラッチパッドspLASTに格納され得る。スクラッチパッドspLASTは、spA、spB、または全く異なるスクラッチパッドであり得る。トラックt_last‐xからt_last‐1までは、次に、主データ格納媒体上の対応するトラックt_last‐xからt_last‐1までに書き込まれ得る。処理がバンドの最後の区分に達すると、物理的ガードトラックが存在し得るので、論理的ガードトラックは必要ではない可能性がある。提供された例では、最後のトラックt_lastは、物理的ガードバンドであり得、いずれのスクラッチパッドにも格納される必要はない。   The process can be easily extended to accommodate different sized bands. In this embodiment, processing continues to the end of the band. At 714, data from tracks t_last-x + 1 to t_last-1 is read into the buffer and modified. Since t_last-x should also be still in the buffer, tracks t_last-x through t_last-1 can be stored in the scratchpad spLAST. The scratch pad spLAST can be spA, spB, or a completely different scratch pad. Tracks t_last-x through t_last-1 can then be written into corresponding tracks t_last-x through t_last-1 on the main data storage medium. When processing reaches the last segment of the band, a physical guard track may be present, so a logical guard track may not be necessary. In the example provided, the last track t_last may be a physical guard band and need not be stored on any scratchpad.

図8を参照すると、読み出し‐修正‐書き込み操作の区分する方法のグラフィカルな表現が示され、一般に800で指定される。示された特定の例では、システムは、各区分が6つのトラックまでからなる、データの2つの区分を書き込み得る。しかしながら、更なる区分または異なる区分サイズが、必要に応じて書き込まれ得る。示された例では、第1の区分内のトラックは、トラック100から105までを含み得る一方で、第2の区分内のトラックは、トラック106から111までを含むことができる。   Referring to FIG. 8, a graphical representation of a method for partitioning read-modify-write operations is shown, generally designated 800. In the particular example shown, the system may write two sections of data, each section consisting of up to six tracks. However, additional partitions or different partition sizes can be written as needed. In the example shown, tracks in the first section may include tracks 100-105, while tracks in the second section may include tracks 106-111.

方法800は、2つの反復、あるいは、各パスが区分された読み出し‐修正‐書き込み操作の間に行われ得る処理を示す、2つのパスを含み得る。第1のパス(パスA)802において、トラック100から105までは、806で、主データ格納デバイスからバッファに読み出され得る。方法800は、データがバッファ内にある間に修正、併合、または他のデータ操作を行い得る。次に、808で、トラック100から105までに対応するデータは、spAに格納され得る。次いで、812で、トラック100から104までは、主データ格納デバイスに書き込まれ得る。次いで、トラック105は、それに対応するデータのコピーがバッファ内にあり得るので、論理的ガードトラックであり得、コピーはspA内に格納され得る一方で、主データ格納デバイス上の対応するトラック105は、トラック104の書き込みに起因して破損され得る。   The method 800 may include two passes that indicate the processing that can be performed during two iterations or a read-modify-write operation where each pass is partitioned. In the first pass (path A) 802, tracks 100 through 105 may be read from the main data storage device to the buffer at 806. Method 800 may perform modifications, merging, or other data manipulation while the data is in the buffer. Next, at 808, data corresponding to tracks 100-105 may be stored in spA. Then, at 812, tracks 100-104 can be written to the main data storage device. Track 105 can then be a logical guard track, since a corresponding copy of the data can be in the buffer, and the copy can be stored in spA, while the corresponding track 105 on the main data storage device is Can be damaged due to the writing of the track 104.

第2のパス(パスB)804を移動させると、第2の区分は、トラック106からトラック111までを含み得、814で、主データ格納デバイスから読み出され得る。トラック106(または105。なぜなら、それは依然としてバッファ内にあるべきであるので)から111までに対応するデータは、818で、spBに格納され得る。次いで、820で、トラック105から110までは、主データ格納デバイスの対応するトラックに書き込まれ得る。   Moving the second path (path B) 804, the second segment may include track 106 to track 111 and may be read from the main data storage device at 814. Data corresponding to tracks 106 (or 105, because it should still be in the buffer) through 111 can be stored in 818 at 818. Then, at 820, tracks 105 through 110 can be written to corresponding tracks in the main data storage device.

主データ格納デバイスからのトラック105からの有効なデータは、依然としてバッファ内にあることができ、また依然としてspA内にあり得ることを思い出す。それ故、820で、データトラック105から110までが主データ格納デバイス上の対応するトラックに書き込まれると、トラック105は、有効なデータで上書きされることになり、論理的ガードトラックであることを終えることになり、次に、トラック111を論理的ガードトラックにさせる。   Recall that valid data from the track 105 from the main data storage device can still be in the buffer and still in the spA. Therefore, at 820, when data tracks 105 through 110 are written to the corresponding tracks on the main data storage device, track 105 will be overwritten with valid data, indicating that it is a logical guard track. The track 111 is then made a logical guard track.

いくつかの実施形態では、例えば、第3のパス(パスC)(図示しない)、第4のパス(パスD)(図示しない)などの複数のパスがあり得る。スクラッチパッドは、処理の間に1回以上使用され得る。例えば、spAは、パスA、パスCなどにおいて使用され得る。しかしながら、spAのサイズは、各パスについて同じである必要はなく、区分サイズに依存し得る。パスC内の区分が、8つのトラックを包含する場合、パスA内のspAのサイズは、パスCとは異なり得る可能性がある。   In some embodiments, there may be multiple paths, such as a third path (path C) (not shown), a fourth path (path D) (not shown), for example. The scratch pad can be used one or more times during processing. For example, spA can be used in path A, path C, and the like. However, the size of spA need not be the same for each path and can depend on the partition size. If a partition in path C includes 8 tracks, the size of spA in path A may be different from path C.

さまざまな実施形態によれば、本明細書に記載された方法は、コンピュータプロセッサまたはコントローラなどの、コンピューティングデバイス上で動く1つ以上のソフトウェアプログラムとして実装され得る。別の実施形態によれば、本明細書に記載された方法は、ディスクドライブを使用しているパーソナルコンピュータなどのコンピューティングデバイス上で動く1つ以上のソフトウェアプログラムとして実装され得る。限定されるものではないが、特定用途向け集積回路、プログラム可能な論理アレイ、および他のハードウェアデバイスを含む専用ハードウェアの実装は、本明細書に記載された方法を実装するように同様に構築され得る。更に、本明細書に記載された方法および処理は、命令が実行されるとプロセッサに方法および処理を行わせる、命令を含む、コンピュータで読み出し可能なデータ格納媒体またはデバイスとして実装され得る。   According to various embodiments, the methods described herein may be implemented as one or more software programs running on a computing device, such as a computer processor or controller. According to another embodiment, the methods described herein may be implemented as one or more software programs running on a computing device such as a personal computer using a disk drive. Dedicated hardware implementations, including but not limited to application specific integrated circuits, programmable logic arrays, and other hardware devices are similarly implemented to implement the methods described herein. Can be built. Further, the methods and processes described herein may be implemented as a computer-readable data storage medium or device that includes instructions that cause the processor to perform the methods and processes when the instructions are executed.

本明細書に記載された実施形態の実例は、さまざまな実施形態の構造の一般的な理解を与えることを意図される。実例は、本明細書に記載された構造もしくは方法を利用する装置およびシステムの要素や特徴の全ての完全な記載として供されることを意図されない。多くの他の実施形態は、開示を検討すれば、当業者に明らかであろう。例えば、本明細書に記述されたRMW操作の区分は、例えば固体メモリのためのプログラム‐消去サイクルなどの、RMW操作もしくは比較可能な操作を使用するデータ格納デバイスまたは格納媒体に有用であり得る。他の実施形態は、構造的および論理的置換や変更が開示の範囲から逸脱することなくなされ得るように、利用され得、開示から導かれ得る。その上、特定の実施形態が本明細書に例示され記載されたが、同じまたは類似目的を達成するように設計された任意の後続の配置が、示された特定の実施形態に置換され得ることが理解されるべきである。   The examples of embodiments described herein are intended to give a general understanding of the structure of the various embodiments. The examples are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other embodiments will be apparent to those of skill in the art upon reviewing the disclosure. For example, the RMW operation partition described herein may be useful for data storage devices or storage media that use RMW operations or comparable operations, such as, for example, a program-erase cycle for solid state memory. Other embodiments may be utilized and derived from the disclosure so that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. Moreover, while specific embodiments have been illustrated and described herein, any subsequent arrangement designed to achieve the same or similar purpose can be substituted for the specific embodiments shown. Should be understood.

この開示は、さまざまな実施形態の任意のおよび全ての後続の適応または変形を包含することが意図される。上記実施形態の組み合わせ、および本明細書に特に記載されていない他の実施形態は、説明を再検討すれば、当業者に明らかになるであろう。更に、実例は、単に代表するものであり、縮尺に合わせて描かれていない可能性がある。実例の範囲内の一定部分は、誇張され得る一方で、他の部分は縮小され得る。したがって、開示および図面は、限定的なものではなくて、例示的なものであるとして、みなされるべきである。   This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the description. Further, the examples are merely representative and may not be drawn to scale. Certain parts within the scope of the examples may be exaggerated while other parts may be reduced. Accordingly, the disclosure and drawings are to be regarded as illustrative rather than restrictive.

Claims (20)

少なくとも1つのトラックが隣接トラックに部分的に重なる瓦様式で配列された複数のデータトラックを有するトラックのバンドを含むデータ格納媒体と、
コントローラであって、
各区分が少なくとも1つのトラックを包含する、少なくとも第1の区分および第2の区分に前記トラックのバンドを仮想的に分割するように、
前記第1の区分のための第1の読み出し‐修正‐書き込み‐書き込み操作を行うように、ならびに
前記第2の区分のための第2の読み出し‐修正‐書き込み‐書き込み操作を行うように、構成された、コントローラとを備える、装置。
A data storage medium comprising a band of tracks having a plurality of data tracks arranged in a tiled manner with at least one track partially overlapping adjacent tracks;
A controller,
So as to virtually divide the band of the tracks into at least a first section and a second section, each section including at least one track;
Configured to perform a first read-modify-write-write operation for the first partition, and to perform a second read-modify-write-write operation for the second partition A device comprising a controller.
前記コントローラであって、
前記第1の区分をバッファに読み出すように、
前記バッファ内の前記第1の区分のデータを修正するように、
前記第1の区分を第1のスクラッチパッドに書き込むように、および
前記データ格納媒体上で前記第1の区分に対応する物理的に隣接するトラックに前記第1の区分の全てよりも少ない部分を書き込むように、更に構成された、前記コントローラを備える、請求項1に記載の装置。
The controller,
So as to read the first section into the buffer;
So as to modify the data of the first partition in the buffer;
Writing the first section to a first scratchpad, and physically adjacent tracks corresponding to the first section on the data storage medium with less than all of the first sections The apparatus of claim 1, comprising the controller further configured to write.
前記コントローラであって、
前記第2の区分を前記バッファに読み出すように、
前記バッファ内の前記第2の区分のデータを修正するように、
前記第1の区分の少なくとも最後のトラックを含む前記第2の区分を第2のスクラッチパッドに書き込むように、および
前記データ格納媒体上で前記第2の区分に対応する物理的に隣接するトラックに前記第2の区分の全てよりも少ない部分を書き込むように、更に構成された、前記コントローラを備える、請求項1または2に記載の装置。
The controller,
So as to read the second section into the buffer;
So as to modify the data of the second partition in the buffer;
Writing the second section including at least the last track of the first section to a second scratchpad, and on a physically adjacent track corresponding to the second section on the data storage medium The apparatus of claim 1 or 2, further comprising the controller, further configured to write less than all of the second section.
前記第1の区分の全てよりも少ない前記部分は、前記第1の区分から前記第1の区分の最後の隣接トラックを引いたものである、請求項に記載の装置。 3. The apparatus of claim 2 , wherein the portion less than all of the first section is the first section minus the last adjacent track of the first section. 前記第2の区分の全てよりも少ない前記部分は、前記第2の区分から前記第2の区分の最後の隣接トラックを引いたものである、請求項に記載の装置。 4. The apparatus of claim 3 , wherein the portion less than all of the second segment is the second segment minus the last adjacent track of the second segment. 前記コントローラであって、
前記バンド内の全てのトラックが対応する読み出し‐修正‐書き込み‐書き込み操作を経るまで、任意の付加的な区分のための読み出し‐修正‐書き込み‐書き込み操作を行うことを繰り返すように、および
区分内の最後のトラックが、前記バンドを前記バンド内に無い他のトラックから分離する物理的ガードバンドである場合、前記バンドのための読み出し‐修正‐書き込み‐書き込み操作を行うことを停止するように、更に構成された、前記コントローラを備える、請求項1に記載の装置。
The controller,
Repeat the read-modify-write-write operation for any additional partition until all tracks in the band have undergone a corresponding read-modify-write-write operation, and within the segment To stop performing read-modify-write-write operations for the band if the last track is a physical guard band that separates the band from other tracks not in the band, The apparatus of claim 1, further comprising the controller.
第1のスクラッチパッドと、
第2のスクラッチパッドと、
前記第1の読み出し‐修正‐書き込み‐書き込み操作の間に前記第1の区分を前記第1のスクラッチパッドに書き込むように、および前記第2の読み出し‐修正‐書き込み‐書き込み操作の間に前記第2の区分を前記第2のスクラッチパッドに書き込むように、更に構成された、前記コントローラとを更に備える、請求項1〜6のいずれか1項に記載の装置。
A first scratchpad;
A second scratchpad;
Writing the first segment to the first scratchpad during the first read-modify-write-write operation, and the second segment during the second read-modify-write-write operation. The apparatus of claim 1, further comprising the controller further configured to write two sections to the second scratchpad.
前記バンドの付加的な区分のための更なる読み出し‐修正‐書き込み‐書き込み操作のために、前記第1のスクラッチパッドへの書き込みと前記第2のスクラッチパッドへの書き込みとを交互に行うように更に構成された前記コントローラを備える、請求項7に記載の装置。   Alternately writing to the first scratchpad and writing to the second scratchpad for further read-modify-write-write operations for additional segmentation of the band. The apparatus of claim 7, further comprising the controller configured. 前記第1の区分は、前記バンドの物理的に隣接するトラックの第1の範囲を含み、
前記第2の区分は、前記バンドの物理的に隣接するトラックの第2の範囲を含み、
前記第2の区分の最初のトラックは、前記第1の区分の最後のトラックに隣接することを更に備える、請求項1〜8のいずれか1項に記載の装置。
The first section includes a first range of physically adjacent tracks of the band;
The second section includes a second range of physically adjacent tracks of the band;
9. The apparatus of any one of the preceding claims, further comprising a first track of the second section being adjacent to a last track of the first section.
各区分が少なくとも1つのトラックを包含する、少なくとも第1の区分および第2の区分にデータ格納媒体のトラックの瓦バンドを分割することと、
前記第1の区分のための第1の読み出し‐修正‐書き込み‐書き込み操作を行うことと、
前記第2の区分のための第2の読み出し‐修正‐書き込み‐書き込み操作を行うこととを含む、方法。
Dividing the roof band of the tracks of the data storage medium into at least a first section and a second section, each section including at least one track;
Performing a first read-modify-write-write operation for the first partition;
Performing a second read-modify-write-write operation for the second partition.
少なくとも1つのトラックが隣接トラックに部分的に重なる様式で配列された複数の重なったデータトラックを有するトラックの複数の瓦バンドを含む、前記データ格納媒体を更に備える、請求項10に記載の方法。   The method of claim 10, further comprising a plurality of roof tile bands of tracks having a plurality of overlapping data tracks arranged such that at least one track partially overlaps an adjacent track. 前記第1の読み出し‐修正‐書き込み‐書き込み操作と前記第2の読み出し‐修正‐書き込み‐書き込み操作との間に論理的ガードバンドを実装することを更に含む、請求項10または11に記載の方法。   12. A method according to claim 10 or 11, further comprising implementing a logical guard band between the first read-modify-write-write operation and the second read-modify-write-write operation. . 前記瓦バンド内の全てのトラックが対応する読み出し‐修正‐書き込み‐書き込み操作を経るまで、任意の付加的な区分のための読み出し‐修正‐書き込み‐書き込み(RMWW)操作を行うことと、
区分内の最後のトラックが、前記瓦バンドを前記バンド内に無い他のトラックから分離する物理的ガードバンドである場合、前記バンドのためのRMWW操作を行うことを停止することとを更に含む、請求項10に記載の方法。
Performing a read-modify-write-write (RMWW) operation for any additional segment until all tracks in the roof band have undergone a corresponding read-modify-write-write operation;
If the last track in the segment is a physical guard band that separates the roof tile band from other tracks not in the band, further stopping performing an RMWW operation for the band; The method of claim 10.
2つの連続する読み出し‐修正‐書き込み‐書き込み操作に対応する区分間に浮動する論理的ガードバンドを実装することを更に含む、請求項13に記載の方法。   14. The method of claim 13, further comprising implementing a logical guard band that floats between sections corresponding to two consecutive read-modify-write-write operations. 浮動する論理的ガードバンドを実装することと、RMWW操作を通して最後に処理された区分と、RMWW操作を通して処理されることになる次の区分との間に前記浮動する論理的ガードバンドを移動することとを更に含む、請求項13に記載の方法。   Implementing a floating logical guard band and moving the floating logical guard band between the last segment processed through the RMWW operation and the next partition to be processed through the RMWW operation 14. The method of claim 13, further comprising: 前記第1の読み出し‐修正‐書き込み‐書き込み操作の間に前記第1の区分を第1のスクラッチパッドに書き込むことと、
前記第2の読み出し‐修正‐書き込み‐書き込み操作の間に前記第2の区分を第2のスクラッチパッドに書き込むこととを更に含む、請求項10〜15のいずれか1項に記載の方法。
Writing the first segment to a first scratch pad during the first read-modify-write-write operation;
16. The method of any one of claims 10-15, further comprising writing the second section to a second scratchpad during the second read-modify-write-write operation.
前記瓦バンドの付加的な区分に対応する付加的な読み出し‐修正‐書き込み‐書き込み操作の交互の反復のために、前記第1のスクラッチパッドおよび前記第2のスクラッチパッドへの書き込みを交互に行うことを更に含む、請求項16に記載の方法。   Alternate writing to the first and second scratchpads for alternate iterations of additional read-modify-write-write operations corresponding to additional sections of the roof band The method of claim 16 further comprising: 命令がプロセッサによって実行されると、
各区分が少なくとも1つのトラックを包含する、少なくとも第1の区分および第2の区分にデータ格納媒体のトラックの瓦バンドを分割することと、
前記第1の区分のための第1の読み出し‐修正‐書き込み‐書き込み操作を行うことと、
前記第2の区分のための第2の読み出し‐修正‐書き込み‐書き込み操作を行うこととを含む方法を前記プロセッサに行わせる、前記命令を格納するコンピュータで読み出し可能なデータ格納媒体を備える、装置。
When the instruction is executed by the processor,
Dividing the roof band of the tracks of the data storage medium into at least a first section and a second section, each section including at least one track;
Performing a first read-modify-write-write operation for the first partition;
An apparatus comprising a computer readable data storage medium storing the instructions, causing the processor to perform a method comprising performing a second read-modify-write-write operation for the second partition. .
命令がプロセッサによって実行されると、
前記第2の読み出し‐修正‐書き込み‐書き込み操作が完了した後に、物理的ガードバンドではない論理的ガードバンドを前記第1の読み出し‐修正‐書き込み‐書き込み操作と前記第2の読み出し‐修正‐書き込み‐書き込み操作との間に実装することを更に含む前記方法を前記プロセッサに行わせる、前記命令を格納する前記コンピュータで読み出し可能なデータ格納媒体を備える、請求項18に記載の装置。
When the instruction is executed by the processor,
After the second read-modify-write-write operation is completed, a logical guard band that is not a physical guard band is transferred to the first read-modify-write-write operation and the second read-modify-write. 19. The apparatus of claim 18, comprising a computer readable data storage medium storing the instructions that causes the processor to perform the method further comprising implementing during a write operation.
命令がプロセッサによって実行されると、
前記第1の読み出し‐修正‐書き込み‐書き込み操作の間に前記第1の区分を第1のスクラッチパッドに書き込むことと、
前記第2の読み出し‐修正‐書き込み‐書き込み操作の間に前記第2の区分を第2のスクラッチパッドに書き込むことと、を更に含む、前記方法を前記プロセッサに行なわせる、前記命令を格納する前記コンピュータで読み出し可能なデータ格納媒体を備える、請求項18に記載の装置。
When the instruction is executed by the processor,
Writing the first segment to a first scratch pad during the first read-modify-write-write operation;
Storing the instructions for causing the processor to perform the method further comprising: writing the second partition to a second scratchpad during the second read-modify-write-write operation. The apparatus of claim 18, comprising a computer readable data storage medium.
JP2014050085A 2013-03-15 2014-03-13 Apparatus and method for partitioned read-modify-write operations Expired - Fee Related JP6148996B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/832,178 US8879183B1 (en) 2012-10-11 2013-03-15 Segmenting of read-modify-write operations
US13/832,178 2013-03-15

Publications (3)

Publication Number Publication Date
JP2014182865A JP2014182865A (en) 2014-09-29
JP2014182865A5 JP2014182865A5 (en) 2016-11-10
JP6148996B2 true JP6148996B2 (en) 2017-06-14

Family

ID=51503712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014050085A Expired - Fee Related JP6148996B2 (en) 2013-03-15 2014-03-13 Apparatus and method for partitioned read-modify-write operations

Country Status (2)

Country Link
JP (1) JP6148996B2 (en)
CN (1) CN104050975B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10176119B2 (en) 2016-03-02 2019-01-08 Seagate Technology Llc Workload detection and media cache management
CN105824579B (en) * 2016-03-17 2019-01-11 中国科学院计算技术研究所 A method of incidentally read-write reduction watt record writes amplification expense
US9779763B1 (en) * 2016-04-29 2017-10-03 Seagate Technology Llc Write signal adjustment
WO2020113549A1 (en) * 2018-12-07 2020-06-11 Alibaba Group Holding Limited External staging storage cluster mechanism to optimize archival data storage system on shingled magnetic recording hard disk drives
CN116382576B (en) * 2023-03-17 2024-02-27 平头哥(上海)半导体技术有限公司 Storage control chip, solid state disk and related method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490212B2 (en) * 2003-09-29 2009-02-10 Hitachi Global Storage Technologies Netherlands B.V. System and method for writing data to dedicated bands of a hard disk drive
US7965465B2 (en) * 2009-03-11 2011-06-21 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for storing shingle blocks in a cache memory using a data storage device
KR20140040870A (en) * 2009-07-07 2014-04-04 엘에스아이 코포레이션 Systems and methods for tiered non-volatile storage
JP4886877B2 (en) * 2010-05-31 2012-02-29 株式会社東芝 Recording medium control apparatus and method
US8832409B2 (en) * 2011-03-09 2014-09-09 Seagate Technology Llc Dynamic guarding of a storage media

Also Published As

Publication number Publication date
JP2014182865A (en) 2014-09-29
CN104050975B (en) 2017-06-09
CN104050975A (en) 2014-09-17

Similar Documents

Publication Publication Date Title
US8879183B1 (en) Segmenting of read-modify-write operations
US9129628B1 (en) Data management for data storage device with different track density regions
US9805762B2 (en) Band rewrite optimization
US9424864B2 (en) Data management for a data storage device with zone relocation
TWI494761B (en) Method of partitioning physical block and memory system thereof
US9311939B1 (en) Write-through media caching
US9263088B2 (en) Data management for a data storage device using a last resort zone
CN105934749B (en) Garbage collection and data relocation for data-storage system
JP5413691B2 (en) Built-in mapping information for memory devices
US9923562B1 (en) Data storage device state detection on power loss
JP6148996B2 (en) Apparatus and method for partitioned read-modify-write operations
US9460751B2 (en) Binding shingled recording bands
US9766979B2 (en) Error correction in solid state drives (SSD)
US10140180B1 (en) Segment-based outer code recovery
JP2010211910A (en) Data storage device
CN107665096B (en) Weighted data striping
US9070378B2 (en) Partial write system
US20160077962A1 (en) Hybrid-hdd policy for what host-r/w data goes into nand
US10734033B2 (en) Shingled magnetic recording storage system
US8862856B2 (en) Implementing remapping command with indirection update for indirected storage
US9377956B1 (en) Rewrite operation for recording bands
US10282096B1 (en) Identification of data with predetermined data pattern
US9286936B1 (en) Zone based band mapping
US9785563B1 (en) Read command processing for data storage system based on previous writes
US10867633B1 (en) Reduced adjacent track erasure from write retry

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160921

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170522

R150 Certificate of patent or registration of utility model

Ref document number: 6148996

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees