A method of operating a storage device including a nonvolatile memory (320a, 320b, 320c), the method comprising: generating a plurality of virtual domains (730, 735, 740), wherein each of the plurality of virtual domains (730, 735, 740) includes a page mapping table and a block mapping table, the page mapping table 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 including a relationship between the virtual address (VADDR1, VADDR2, VADDR3) and a physical address of a physical block included in the nonvolatile memory (320a, 320b, 320c); 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 (730, 735, 740); 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 (730, 735, 740) 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 (730, 735, 740) and by performing the data I/O operation using the changed virtual domain, wherein changing at least one of the plurality of virtual domains (730, 735, 740) 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 (320a, 320b, 320c). generating a plurality of virtual domains (730, 735, 740), wherein each of the plurality of virtual domains (730, 735, 740) includes a page mapping table and a block mapping table, the page mapping table 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 including a relationship between the virtual address (VADDR1, VADDR2, VADDR3) and a physical address of a physical block included in the nonvolatile memory (320a, 320b, 320c); 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 (730, 735, 740); 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 (730, 735, 740) 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 (730, 735, 740) and by performing the data I/O operation using the changed virtual domain, wherein changing at least one of the plurality of virtual domains (730, 735, 740) 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 (320a, 320b, 320c).