FlashCopy 功能会在目标卷上创建源卷上所存储数据的时间点拷贝。在基本方式下,FlashCopy 功能会在映射中的目标卷上创建源卷内容的拷贝。 该功能在映射中将源卷和目标卷关联起来。 如果目标卷上存在数据,那么该数据将替换为拷贝的数据。
FlashCopy 映射可定义用于在源卷和目标卷之间拷贝数据的关系。在系统中的任何两个卷之间都可以创建映射。 这两个卷不必在同一个 I/O 组或池中。当 FlashCopy 操作启动时,将由源卷构成一个检查点。启动操作发生时,不会拷贝任何数据。 相反,检查点创建一个位图,表示尚未拷贝源卷的任何部分。 位图中的每个位都表示源卷的一个区域。 每个区域都被称为一个颗粒。在对目标卷执行读操作时,位图将用于确定是否已拷贝颗粒。 如果已拷贝颗粒,那么将从目标卷读取数据。 如果未拷贝颗粒,那么将从源卷读取数据。
FlashCopy 操作启动后,将继续进行对源卷的读和写操作。 如果将新数据写入源或目标卷,那么会先将源卷上的现有数据复制到目标卷,然后再将新数据写入源或目标卷。 位图将被更新以标记源卷的颗粒已经被拷贝,这样对相同颗粒的后续写操作不会重新拷贝数据。
拷贝操作完成之后,目标卷包含源卷的内容(如同它们存在于某一时间点),除非已处理目标写入。有时,FlashCopy 会被描述为时间零点拷贝 (T 0) 或时间点拷贝技术的实例。 尽管拷贝操作需要一段时间才能完成,但是目标卷上的结果数据会立即显示,这使得拷贝看起来像是立即执行的一样,并且所有数据立即可用。 (如果需要,可以从源中访问仍在拷贝中的数据。)系统最多可以支持 2048 个卷,但系统的最大目标卷数是 64。
尽管很难为不断更新的数据集生成一致拷贝,但是时间点复制技术有助于解决这一问题。 如果未使用时间点技术来创建数据集复制,而该数据集又在拷贝操作期间发生了更改,那么得到的复制可能会包含不一致的数据。 例如,如果对象引用的拷贝要早于对象本身的拷贝,而该对象又在拷贝之前发生了移动,那么拷贝将包含位于新位置的引用对象,但是拷贝的引用仍将指向先前的位置。 也可以向 FlashCopy 映射指定后台拷贝和清除速率,以控制将更新传播到远程系统的速率。 FlashCopy 映射拷贝速率值在 128 KBps 到 2 GBps 之间,并且可在 FlashCopy 映射处于任何状态时进行更改。
更高级的功能允许在多个源和目标卷上同时进行操作。 管理操作进行协调,以提供某一公共时间点,用于从相应的源卷拷贝目标卷。 这可创建跨多个卷的数据的一致拷贝。 该功能还支持从每个源卷拷贝多个目标卷。 可使用这种方法为每个源卷创建不同时间点的映像。