Efficient command delivery and data transfer
Abstract
In an example embodiment, a method of delivering a command from an initiator device also transfers data identified by the command to a target device. The data is transferred between the initiator device and the target device according to a selected maximum payload size. The method includes determining whether or not the size of the data associated with the command is greater than the selected maximum payload size. If the size of the data associated with the command is not greater than the selected maximum payload size, then a block is transferred to or from the target device which includes the command and all of the data associated with the command. If the size of the data associated with the command is greater than the selected maximum payload size, then a block is transferred to or from the target device which includes the command, an amount of data associated with the command equal to the selected maximum payload size and an indication that not all of the data associated with the command was included in the transferred block.
Claims
exact text as granted — not AI-modified1 - 31 . (canceled)
32 . A method comprising:
at least one of issuing a block from a first device to a second device and receiving the block at the second device, the block including a command that is associated with data, if the data has a size that is less than or equal to a maximum payload size, the block also including all of the data with which the command is associated.
33 . The method of claim 32 , wherein:
the second device is associated with a data storage format; and the block is associated with a data block size that is equal to a multiple of the data storage format.
34 . The method of claim 32 , wherein:
the block is associated with a data block size; and the method further comprises adjusting the data block size.
35 . The method of claim 32 , further comprising:
determining whether the size of the data with which the command is associated is greater than the maximum payload size.
36 . The method of claim 32 , further comprising:
selecting the maximum payload size.
37 . The method of claim 32 , wherein:
the first device comprises an initiator device; and the second device comprises a target device.
38 . A method comprising:
at least one of issuing one block from a first device to a second device and receiving the one block at the second device, the one block including a command that is associated with data, if the data has a size that is greater than a maximum payload size, the one block including the command, an amount of the data that is equal to the maximum payload size, and an indication that less than all of the data is included in the one block.
39 . The method of claim 38 , further comprising:
at least one of transferring to the second device from the first device another block and receiving at the second device the another block, the another block including a remaining portion of the data that is not included in the one block.
40 . The method of claim 39 , further comprising:
at least one of issuing a request from the second device and receiving at the first device the request, the request requesting transfer to the second device of the remaining portion.
41 . The method of claim 38 , wherein:
the first device comprises an initiator device; and the second device comprises a target device.
42 . An apparatus comprising:
circuitry that is capable of at least one of issuing a block from a first device to a second device and receiving the block at the second device, the block including a command that is associated with data, if the data has a size that is less than or equal to a maximum payload size, the block also including all of the data with which the command is associated.
43 . The apparatus of claim 42 , wherein:
the second device is associated with a data storage format; and the block is associated with a data block size that is equal to a multiple of the data storage format.
44 . The apparatus of claim 42 , wherein:
the block is associated with a data block size; and the circuitry is also capable of adjusting the data block size.
45 . The apparatus of claim 42 , wherein:
the circuitry is also capable of determining whether the size of the data with which the command is associated is greater than the maximum payload size.
46 . The apparatus of claim 42 , wherein:
the circuitry is also capable of selecting the maximum payload size.
47 . The apparatus of claim 42 , wherein:
the first device comprises an initiator device; and the second device comprises a target device.
48 . An apparatus comprising:
circuitry that is capable of at least one of issuing one block from a first device to a second device and receiving the one block at the second device, the one block including a command that is associated with data, if the data has a size that is greater than a maximum payload size, the one block including the command, an amount of the data that is equal to the maximum payload size, and an indication that less than all of the data is included in the one block.
49 . The apparatus of claim 48 , wherein:
the circuitry is also capable of at least one of transferring to the second device from the first device another block and receiving at the second device the another block, the another block including a remaining portion of the data that is not included in the one block.
50 . The apparatus of claim 49 , wherein:
the circuitry is also capable of at least one of issuing a request from the second device and receiving at the first device the request, the request requesting transfer to the second device of the remaining portion.
51 . The apparatus of claim 48 , wherein:
the first device comprises an initiator device; and the second device comprises a target device.
52 . An article comprising:
a storage medium storing instructions that when executed by a machine result in the following: at least one of issuing a block from a first device to a second device and receiving the block at the second device, the block including a command that is associated with data, if the data has a size that is less than or equal to a maximum payload size, the block also including all of the data with which the command is associated.
53 . The article of claim 52 , wherein:
the second device is associated with a data storage format; and the block is associated with a data block size that is equal to a multiple of the data storage format.
54 . The article of claim 52 , wherein:
the block is associated with a data block size; and the instruction when executed by the machine also result in adjusting the data block size.
55 . The article of claim 52 , wherein:
the instructions when executed by the machine also result in determining whether the size of the data with which the command is associated is greater than the maximum payload size.
56 . The article of claim 52 , wherein:
the instructions when executed by the machine also result in selecting the maximum payload size.
57 . The article of claim 52 , wherein:
the first device comprises an initiator device; and the second device comprises a target device.
58 . An article comprising:
a storage medium storing instructions that when executed by a machine result in the following: at least one of issuing one block from a first device to a second device and receiving the one block at the second device, the one block including a command that is associated with data, if the data has a size that is greater than a maximum payload size, the one block including the command, an amount of the data that is equal to the maximum payload size, and an indication that less than all of the data is included in the one block.
59 . The article of claim 58 , wherein:
the instructions when executed by the machine also result in at least one of transferring to the second device from the first device another block and receiving at the second device the another block, the another block including a remaining portion of the data that is not included in the one block.
60 . The article of claim 59 , wherein:
the instructions when executed by the machine also result in at least one of issuing a request from the second device and receiving at the first device the request, the request requesting transfer to the second device of the remaining portion.
61 . The article of claim 58 , wherein:
the first device comprises an initiator device; and the second device comprises a target device.
62 . A system comprising:
a first device; a second device; one or more channels to communicatively couple the first device and the second device; the first device being capable of issuing a block to a second device via the one or more channels; the second device being capable of receiving the block via the one or more channel; and the block including a command that is associated with data, if the data has a size that is less than or equal to a maximum payload size, the block also including all of the data with which the command is associated.
63 . The system of claim 62 , wherein:
the one or more channels comprise one or more point-to-point connections.
64 . A system comprising:
a first device; a second device; one or more channels to communicatively couple the first device and the second device; the first device being capable of issuing a block to a second device via the one or more channels; the second device being capable of receiving the block via the one or more channel; and the one block including a command that is associated with data, if the data has a size that is greater than a maximum payload size, the one block including the command, an amount of the data that is equal to the maximum payload size, and an indication that less than all of the data is included in the one block.
65 . The system of claim 64 , wherein:
the one or more channels comprise one or more point-to-point connections.Join the waitlist — get patent alerts
Track US2005152274A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.