STORAGE DEVICE AND COMPUTER SYSTEM
According to one embodiment, a storage device includes a nonvolatile memory including a plurality of blocks, and a controller. The controller receives from the host information indicative of the total number of processes running on the host. The controller executes processing of moving data stored in at least one block of the nonvolatile memory to at least one block of the other blocks of the nonvolatile memory, after determining that the total number of processes exceeds a first threshold value.
1 . A storage device connectable to a host, comprising:
a nonvolatile memory including a plurality of blocks; and
a controller electrically connected to the nonvolatile memory and configured to control the nonvolatile memory, wherein
each of the plural blocks is selectively used as any one of plural types of blocks different in degree of multi-level indicative of the number of bits of data being capable of being stored in one memory cell,
the controller is configured to:
receive, from the host, (i) information indicative of an identifier of each of processes created by the host, and (ii) write requests to which identifiers of processes requesting data write are assigned respectively; and
move first data written to the nonvolatile memory from a first block to a second block, the first data corresponding to a terminated process, the first block being a block where the first data is stored, the second block having a degree of multi-level higher than that of the first block.
2 . The storage device of claim 1 , wherein
the controller is configured to manage correspondence between the identifier of each of the created processes and an address range corresponding to data written by each of the created processes.
3 . The storage device of claim 2 , wherein
the controller is configured to store the correspondence into a first table to manage the correspondence.
4 . The storage device of claim 3 , wherein
the controller is configured to move the first data from the first block to the second block based on the first table.
5 . The storage device of claim 1 , wherein
the controller is configured to move the first data from the first block to the second block after receiving from the host information indicative of the terminated process.
6 . The storage device of claim 5 , wherein
the information indicative of the terminated process includes an identifier of the terminated process.
7 . A computer system comprising a computer and a storage device, the computer comprising a processor,
the processor being configured to execute processing of sending to the storage device write requests to which identifiers of processes requesting data write are assigned respectively,
the storage device comprising:
a nonvolatile memory including a plurality of blocks; and
a controller electrically connected to the nonvolatile memory and configured to control the nonvolatile memory, wherein
each of the plural blocks is selectively used as any one of plural types of blocks different in degree of multi-level indicative of the number of bits of data being capable of being stored in one memory cell,
the controller is configured to:
receive, from the computer, (i) information indicative of an identifier of each of processes created by the computer, and (ii) write requests to which identifiers of processes requesting data write are assigned respectively; and
move first data written to the nonvolatile memory from a first block to a second block, the first data corresponding to a terminated process, the first block being a block where the first data is stored, the second block having a degree of multi-level higher than that of the first block.
8 . The computer system of claim 7 , wherein
the controller is configured to manage correspondence between the identifier of each of the created processes and an address range corresponding to data written by each of the created processes.
9 . The computer system of claim 7 , wherein
the controller is configured to store the correspondence into a first table to manage the correspondence.
10 . The computer system of claim 9 , wherein
the controller is configured to move the first data from the first block to the second block based on the first table.
11 . The computer system of claim 7 , wherein
the processor is configured to execute processing of sending to the storage device information indicative of the terminated process, and
the controller is configured to move the first data from the first block to the second block after receiving the information.
12 . The computer system of claim 11 , wherein
the information indicative of the terminated process includes an identifier of the terminated process.
13 . A method of controlling a storage device connectable to a host, the storage device including a nonvolatile memory including a plurality of blocks, each of the plural blocks being selectively used as any one of plural types of blocks different in degree of multi-level indicative of the number of bits of data being capable of being stored in one memory cell, the method comprising:
receiving, from the host, (i) information indicative of an identifier of each of processes created by the host, and (ii) write requests to which identifiers of processes requesting data write are assigned respectively; and
moving first data written to the nonvolatile memory from a first block to a second block, the first data corresponding to a terminated process, the first block being a block where the first data is stored, the second block having a degree of multi-level higher than that of the first block.
14 . The method of claim 13 , further comprising
managing correspondence between the identifier of each of the created processes and an address range corresponding to data written by each of the created processes.
15 . The method of claim 14 , further comprising
storing the correspondence into a first table to manage the correspondence.
16 . The method of claim 15 , wherein
the first data is moved from the first block to the second block based on the first table.
17 . The method of claim 13 , wherein
the first data is moved from the first block to the second block after receiving from the host information indicative of the terminated process.
18 . The method of claim 17 , wherein
the information indicative of the terminated process includes an identifier of the terminated process.