Background copy and cleaning rates

FlashCopy mapping copy rate values can be 1 - 100 and can be changed when the FlashCopy mapping is in any state.

If NOCOPY is specified, background copy is disabled. You can specify NOCOPY for short-lived FlashCopy mappings that are only used for backups, for example. Because the source data set is not expected to significantly change during the lifetime of the FlashCopy mapping, it is more efficient in terms of managed disk (MDisk) I/Os to not perform a background copy.
Note: For the command-line interface (CLI), the value NOCOPY is equivalent to setting the copy rate to 0 (zero).

The data copied/sec and the grains/sec numbers represent standards that the system tries to achieve. The system is unable to achieve these standards if insufficient bandwidth is available from the nodes to the physical disks that make up the managed disks (MDisks) after taking into account the requirements of foreground I/O. If this situation occurs, background copy I/O contends for resources on an equal basis with I/O that arrives from hosts. Both tend to see an increase in latency and consequential reduction in throughput with respect to the situation had the bandwidth not been limited. Background copy, stopping copy, and foreground I/O continue to make forward progress and do not stop, hang, or cause the node to fail.

Note: The FlashCopy® operation is decomposed into many smaller copy operations, each performed on a grain. A grain is the unit of data that is represented by grain size bits. Each grain copy operation reads grain size bits from the source volume and writes grain size bits to the target volume. The granularity by which the system manages copy synchronization is measured by its grain. The system models a volume as a series of non-overlapping sequences of data, or grains. The first grain is at the start of the volume; there are no gaps between grains. Every grain is the same length, giving the grain size. If a host writes a change that lies within the boundary of one grain, the entire grain is written to other copies of that volume. If the write operation is larger than a grain or overlaps a grain boundary, at least two grains of data are copied.

The background copy is performed by one of the nodes that belong to the I/O group in which the source volume resides. This responsibility is moved to the other node in the I/O group in the event of the failure of the node that performs the background and stopping copy.

The background copy starts with the grain that contains the lowest logical block numbers (LBAs), which is LBA 0; the copy then works forward towards the grain that contains the largest LBA.

The stopping copy operation copies every grain that is split on the stopping map to the next map (if one exists) that depends on that grain. The operation starts searching with the grain that contains the highest LBAs and works in reverse towards the grain that contains LBA 0. Only those grains that other maps are dependent upon are copied.

Cleaning mode

When you create or modify a FlashCopy mapping, you can specify a cleaning rate for the FlashCopy mapping that is independent of the background copy rate. The cleaning rates shown in Table 1 control the rate at which the cleaning process operates. The cleaning process copies data from the target volume of a mapping to the target volumes of other mappings that depend on this data. The cleaning process must complete before the FlashCopy mapping can go to the stopped state.

Cleaning mode allows you to activate the cleaning process when the FlashCopy mapping is in the copying state. This keeps your target volume accessible while the cleaning process is running. When operating in this mode, it is possible that host I/O operations can prevent the cleaning process from reaching 100% if the I/O operations continue to copy new data to the target volumes. However, it is possible to minimize the amount of data that requires cleaning while the mapping is stopping.

Cleaning mode is active if the background copy progress has reached 100% and the mapping is in the copying state, or if the background copy rate is set to 0.

Table 1 provides the relationship of the copy and cleaning rate values to the attempted number of grains to be split per second. A grain is the unit of data that is represented by grain size bits.
Table 1. Relationship between the cleaning rate, data rate, and grains per second values
User-specified cleaning rate attribute value Data copied/sec 256 KB grains/sec 64 KB grains/sec
1 - 10 128 KB 0.5 2
11 - 20 256 KB 1 4
21 - 30 512 KB 2 8
31 - 40 1 MB 4 16
41 - 50 2 MB 8 32
51 - 60 4 MB 16 64
61 - 70 8 MB 32 128
71 - 80 16 MB 64 256
81 - 90 32 MB 128 512
91 - 100 64 MB 256 1024