A memory, comprising: an IO interface configured to receive a command packet, the command packet having at least a memory command portion in which the memory command is provided and a configuration portion in which configuration information related to data associated with a command packet is provided; a packet decoder (120, 300) configured to receive the command packet from the IO interface, the packet decoder further configured to decode the command packet to generate internal signals representing the command, address, operand data and data length, data unit size, and mask information from the packet; operation logic (140, 400) configured to receive the data associated with the command packet from a memory store and to perform an atomic operation on the data in accordance with the internal signals, the operation logic comprising a first selector, an operation unit and a second selector, wherein: the first selector is configured to receive read data from a memory store and to further receive address, data length, and data unit size information associated with the command packet, wherein the first selector is further configured to provide the read data to the operation unit and second selector; the operation unit is configured to receive address, data length, and data unit size information and configure the read data according to the address, data length, and data unit size information, wherein the operation unit is further configured to provide the resultant data to the second selector; and a second selector to receive the read data from the first selector and the resultant from the operation unit and configured to use the mask, data length, and data unit size information associated with the command packet to forward portions of the resultant not masked by the configuration information to a packet assembler for forwarding on to a component external to the memory, and the second selector further configured to forward portions of the resultant masked by the configuration information to the memory store, wherein the portion of the resultant sent to the external component is different than the portion of the resultant stored in the memory store. an IO interface configured to receive a command packet, the command packet having at least a memory command portion in which the memory command is provided and a configuration portion in which configuration information related to data associated with a command packet is provided; a packet decoder (120, 300) configured to receive the command packet from the IO interface, the packet decoder further configured to decode the command packet to generate internal signals representing the command, address, operand data and data length, data unit size, and mask information from the packet; operation logic (140, 400) configured to receive the data associated with the command packet from a memory store and to perform an atomic operation on the data in accordance with the internal signals, the operation logic comprising a first selector, an operation unit and a second selector, wherein: the first selector is configured to receive read data from a memory store and to further receive address, data length, and data unit size information associated with the command packet, wherein the first selector is further configured to provide the read data to the operation unit and second selector; the operation unit is configured to receive address, data length, and data unit size information and configure the read data according to the address, data length, and data unit size information, wherein the operation unit is further configured to provide the resultant data to the second selector; and a second selector to receive the read data from the first selector and the resultant from the operation unit and configured to use the mask, data length, and data unit size information associated with the command packet to forward portions of the resultant not masked by the configuration information to a packet assembler for forwarding on to a component external to the memory, and the second selector further configured to forward portions of the resultant masked by the configuration information to the memory store, wherein the portion of the resultant sent to the external component is different than the portion of the resultant stored in the memory store. the first selector is configured to receive read data from a memory store and to further receive address, data length, and data unit size information associated with the command packet, wherein the first selector is further configured to provide the read data to the operation unit and second selector; the operation unit is configured to receive address, data length, and data unit size information and configure the read data according to the address, data length, and data unit size information, wherein the operation unit is further configured to provide the resultant data to the second selector; and a second selector to receive the read data from the first selector and the resultant from the operation unit and configured to use the mask, data length, and data unit size information associated with the command packet to forward portions of the resultant not masked by the configuration information to a packet assembler for forwarding on to a component external to the memory, and the second selector further configured to forward portions of the resultant masked by the configuration information to the memory store, wherein the portion of the resultant sent to the external component is different than the portion of the resultant stored in the memory store.