A method of operating a storage device including a nonvolatile memory , the method comprising: generating a plurality of virtual domains , wherein each of the plurality of virtual domains includes a page mapping table (PMT) and a block mapping table (BMT), the page mapping table (PMT) including a relationship between a logical address (LADDR1, LADDR2, LADDR3) received from a host device and a virtual address (VADDR1, VADDR2, VADDR3) of a virtual block (VBM1 - VBMN), the block mapping table (BMT) including a relationship between the virtual address (VADDR1, VADDR2, VADDR3) and a physical address of a physical block included in the nonvolatile memory ; receiving a data input/output, I/O, request from the host device ; performing a data I/O operation corresponding to the data I/O request using the plurality of virtual domains ; transmitting a data I/O response to the host device in response to the data I/O request and the data I/O operation; and changing at least one of the plurality of virtual domains based on a direct request from the host device or a change in a first parameter associated with the data I/O request, and wherein, in response to the first parameter associated with the data I/O request being changed, a second parameter associated with the data I/O response is changed by changing at least one of the plurality of virtual domains and by performing the data I/O operation using the changed virtual domain, wherein changing at least one of the plurality of virtual domains includes: changing first physical blocks allocated to a first virtual domain based on the direct request from the host device or the change in the first parameter associated with the data I/O request, wherein the first physical blocks are from among a plurality of physical blocks (PB11 - PB1K, PBM1 - PBMK) included in the nonvolatile memory . generating a plurality of virtual domains , wherein each of the plurality of virtual domains includes a page mapping table (PMT) and a block mapping table (BMT), the page mapping table (PMT) including a relationship between a logical address (LADDR1, LADDR2, LADDR3) received from a host device and a virtual address (VADDR1, VADDR2, VADDR3) of a virtual block (VBM1 - VBMN), the block mapping table (BMT) including a relationship between the virtual address (VADDR1, VADDR2, VADDR3) and a physical address of a physical block included in the nonvolatile memory ; receiving a data input/output, I/O, request from the host device ; performing a data I/O operation corresponding to the data I/O request using the plurality of virtual domains ; transmitting a data I/O response to the host device in response to the data I/O request and the data I/O operation; and changing at least one of the plurality of virtual domains based on a direct request from the host device or a change in a first parameter associated with the data I/O request, and wherein, in response to the first parameter associated with the data I/O request being changed, a second parameter associated with the data I/O response is changed by changing at least one of the plurality of virtual domains and by performing the data I/O operation using the changed virtual domain, wherein changing at least one of the plurality of virtual domains includes: changing first physical blocks allocated to a first virtual domain based on the direct request from the host device or the change in the first parameter associated with the data I/O request, wherein the first physical blocks are from among a plurality of physical blocks (PB11 - PB1K, PBM1 - PBMK) included in the nonvolatile memory . <EOS>