Skip to contentSkip to conversation

new generation copy offload (ODX)

LSF/MM TOPIC Douglas Gilbert 2 participants 2 messages Jan 17, 2014 – Jan 21, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hannes Reinecke and I would like to attend LSF and present a talk on the new generation copy offload (a.k.a. ODX).

Most discussions about copy offload at the storage level are based on T10's 15 year old xcopy(LID1), specifically its disk->disk copy. This year T10 hopes to standardize a new generation copy offload whose generic name is xcopy(LID4). A subset of xcopy(LID4) that does disk->disk copies and already has vendors with products supporting it, has the market name of ODX.

ODX is ROD (Representation Of Data) based (as is xcopy(LID4)) where the copy is split into two steps:
disk->held [SCSI POPULATE TOKEN command] held->disk [SCSI WRITE USING TOKEN command]

We would like to discuss how the interfaces (both to the block layer and the filesystem) should look like for implementing ROD based copies.
Further we would like to discuss if and how the Linux target subsystem can be expanded to support ODX in the future, in addition to the already existing support for xcopy(LID1).

An example of one of the new ODX/xcopy(LID4) capabilities can be found in this post:
http://www.spinics.net/lists/linux-scsi/msg71411.html

We hope to be able to demonstrate some low level Linux utilities doing ODX copies on a remote array.

Doug Gilbert

#1 lore raw
Quoted 24 lines · Douglas Gilbert

Hannes Reinecke and I would like to attend LSF and present a talk on the new generation copy offload (a.k.a. ODX).

Most discussions about copy offload at the storage level are based on T10's 15 year old xcopy(LID1), specifically its disk->disk copy. This year T10 hopes to standardize a new generation copy offload whose generic name is xcopy(LID4). A subset of xcopy(LID4) that does disk->disk copies and already has vendors with products supporting it, has the market name of ODX.

ODX is ROD (Representation Of Data) based (as is xcopy(LID4)) where the copy is split into two steps:

   disk->held  [SCSI POPULATE TOKEN command]
   held->disk  [SCSI WRITE USING TOKEN command]

We would like to discuss how the interfaces (both to the block layer and the filesystem) should look like for implementing ROD based copies.
Further we would like to discuss if and how the Linux target subsystem can be expanded to support ODX in the future, in addition to the already existing support for xcopy(LID1).

Quoted 7 lines

An example of one of the new ODX/xcopy(LID4) capabilities can be found in this post:

   http://www.spinics.net/lists/linux-scsi/msg71411.html

We hope to be able to demonstrate some low level Linux utilities doing ODX copies on a remote array.

+1.

I've looked briefly at how an initial implementation might work target side, and while the SCSI pieces are straight-forward enough to implement, the bigger issue is how an interface for snapshots within the backend might work to satisfy the requirements for POPULATE TOKEN..

--nab