Storage system and information processing system for controlling nonvolatile memory
Abstract
According to one embodiment, a storage system includes a controller. The controller receives, from a host, a write command including a block address indicating a first block in a plurality of blocks, and a page address indicating a first page of the first block. The controller writes data designated by the write command to the first page of the first block. The controller notifies the host 2 of a page address indicating a latest readable page which is included in pages of the first block, the pages containing data which was written by the host before the designated data was written to the first page, the latest readable page having become readable by writing the designated data to the first page.
Claims
exact text as granted — not AI-modified1 - 12 . (canceled)
13 : A memory system comprising:
a nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit for a data erase operation and including a plurality of pages, each of the plurality of pages being a unit for a data read operation and a data write operation; and a controller electrically connected to the nonvolatile memory and configured to: in response to receiving, from a host, a data copy command that includes management data and designates a copy source and a copy destination, the management data indicating validity or invalidity of data stored in each page of a first block in the copy source, copy valid data stored in an n-th page of the first block to an m-th page of a second block in the copy destination, m being different from n, and not copy invalid data to any page of the second block.
14 : The memory system of claim 13 , wherein the controller is further configured to:
in a case that data stored in an i-th page of the first block is indicated as valid, data stored in an (i+1)th page of the first block is indicated as invalid, and data stored in an (i+2)th page of the first block is indicated as valid: copy the data stored in the i-th page of the first block to an i-th page of the second block; not copy the data stored in the (i+1)th page of the first block to any page of the second block; and copy the data stored in the (i+2)th page of the first block to an (i+1)th page of the second block.
15 : The memory system of claim 13 , wherein the controller is further configured to notify the host of an identifier of the copied valid data and information indicating a location of the m-th page of the second block.
16 : The memory system of claim 13 , wherein the management data is expressed by a bit-map.
17 : The memory system of claim 13 , wherein the copy source is designated by an identifier of the first block and not by an identifier of the n-th page, and the copy destination is designated by an identifier of the second block and not by an identifier of the m-th page.
18 : The memory system of claim 13 , wherein the copy source is designated by an identifier of the first block and an identifier of the n-th page, and the copy destination is designated by an identifier of the second block and an identifier of the m-th page.
19 : The memory system of claim 13 , wherein the data copy command further designates a first value as an amount of valid data to be copied, and the controller is further configured to continue copying valid data from the copy source to the copy destination until an amount of copied valid data reaches the first value.
20 : The memory system of claim 13 , wherein the data copy command further designates a second value as an amount of invalid data to be detected in the copy source, and the controller is further configured to continue copying valid data from the copy source to the copy destination until an amount of invalid data detected in the copy source reaches the second value.
21 : The memory system of claim 13 , wherein the controller is further configured to:
in response to receiving, from the host, a data write command that designates an identifier of the first block and does not designate an identifier of the n-th page, write data into the n-th page of the first block.
22 : The memory system of claim 13 , wherein the controller is further configured to:
in response to receiving, from the host, a data write command that designates an identifier of the first block and an identifier of the n-th page, write data into the n-th page of the first block.
23 : A method of controlling a nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit for a data erase operation and including a plurality of pages, each of the plurality of pages being a unit for a data read operation and a data write operation, the method comprising:
in response to receiving, from a host, a data copy command that includes management data and designates a copy source and a copy destination, the management data indicating validity or invalidity of data stored in each page of a first block in the copy source: copying valid data stored in an n-th page of the first block to an m-th page of a second block in the copy destination, m being different from n, and not copying invalid data to any page of the second block.
24 : The method of claim 23 , wherein
in a case that data stored in an i-th page of the first block is indicated as valid, data stored in an (i+1)th page of the first block is indicated as invalid, and data stored in an (i+2)th page of the first block is indicated as valid, the copying includes: copying the data stored in the i-th page of the first block to an i-th page of the second block; not copying the data stored in the (i+1)th page of the first block to any page of the second block; and copying the data stored in the (i+2)th page of the first block to an (i+1)th page of the second block.
25 : The method of claim 23 , further comprising:
notifying the host of an identifier of the copied valid data and information indicating a location of the m-th page of the second block.
26 : The method of claim 23 , wherein the management data is expressed by a bit-map.
27 : The method of claim 23 , wherein the copy source is designated by an identifier of the first block and not by an identifier of the n-th page, and the copy destination is designated by an identifier of the second block and not by an identifier of the m-th page.
28 : The method of claim 23 , wherein the copy source is designated by an identifier of the first block and an identifier of the n-th page, and the copy destination is designated by an identifier of the second block and an identifier of the m-th page.
29 : The method of claim 23 , wherein the data copy command further designates a first value as an amount of valid data to be copied, and
the method further comprises continuing to copy valid data from the copy source to the copy destination until an amount of copied valid data reaches the first value.
30 : The method of claim 23 , wherein the data copy command further designates a second value as an amount of invalid data to be detected in the copy source, and
the method further comprises continuing to copy valid data from the copy source to the copy destination until an amount of invalid data detected in the copy source reaches the second value.
31 : The method of claim 23 , further comprising:
in response to receiving, from the host, a data write command that designates an identifier of the first block and does not designate an identifier of the n-th page, writing data into the n-th page of the first block.
32 : The method of claim 23 , further comprising:
in response to receiving, from the host, a data write command that designates an identifier of the first block and an identifier of the n-th page, writing data into the n-th page of the first block.Join the waitlist — get patent alerts
Track US2020218655A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.