Memory system that stores data designated by a deletion request in nonvolatile memory
AssigneeToshiba Memory Corporation
InventorShinji Yonezawa
Life of this patent
Estimating the term…
Abstract
A memory system which is accessible to a host device includes a volatile memory, a nonvolatile memory, and a memory controller that controls the volatile memory and the nonvolatile memory. The memory controller stores first data, which is stored in the volatile memory, in the nonvolatile memory, each time the memory controller stores second data, which is stored in the volatile memory, in the nonvolatile memory. The first data indicates a logical address and a deletion range designated by a deletion request received from the host device, and the second data is designated by a write request received from the host device.
Claims15
A method of protecting volatile data in a memory system connected to a host device, the memory system including a volatile memory and a nonvolatile memory, said method comprising:
- temporarily storing, in the volatile memory, management data including mapping information that associates a logical address managed by the host device with a physical address of the nonvolatile memory using one or more of a plurality of entries, each of the entries corresponding to data of a page and including a logical address managed by the host device, a logical address of the nonvolatile memory, a first flag indicating whether or not the page is valid, and a second flag indicating whether or not the page is designated to be deleted;
- upon receiving a deletion request from the host device, temporarily storing, in the volatile memory, first data including a logical address and a deletion range designated by the deletion request and updating the management data to specify data that are designated to be deleted by the deletion request, the first data being different from the management data and not including the mapping information;
- upon receiving a write request from the host device, temporarily store, in the volatile memory, temporarily storing, in the volatile memory, second data designated by the write request and updating the management data;
- when a first predetermined timing comes, saving the first data and the second data temporarily stored in the volatile memory in a first area of the nonvolatile memory;
- when a second predetermined timing that is different from the first predetermined timing comes, saving the management data temporarily stored in the volatile memory, in a second area of the nonvolatile memory;
- and
- when the memory system is powered off before the management data is stored in the second area of the nonvolatile memory, at a time of start of the memory system after the memory system is powered off, using the first data in the first area of the nonvolatile memory to restore the management data, and storing the restored management data in the volatile memory.
A computing device comprising:
- a host;
- and
- a memory system including a host interface configured to communicate with the host, a volatile memory, a nonvolatile memory including a first area and a second area different from the first area, and a memory controller configured to control the host interface, the volatile memory, and the nonvolatile memory, wherein
- the memory controller is configured to:
- temporarily store, in the volatile memory, management data including mapping information that associates a logical address managed by the host device with a physical address of the nonvolatile memory using one or more of a plurality of entries, each of the entries corresponding to data of a page and including a logical address managed by the host device, a logical address of the nonvolatile memory, a first flag indicating whether or not the page is valid, and a second flag indicating whether or not the page is designated to be deleted,
- upon receiving a deletion request from the host device, temporarily store, in the volatile memory, first data including a logical address and a deletion range designated by the deletion request and update the management data to specify data that are designated to be deleted by the deletion request, the first data being different from the management data and not including the mapping information,
- upon receiving a write request from the host device, temporarily store, in the volatile memory, second data designated by the write request and update the management data,
- control the volatile memory and the nonvolatile memory to save the first data temporarily stored in the volatile memory and the second data temporarily stored in the volatile memory, in the first area the nonvolatile memory at a first predetermined timing,
- control the volatile memory and the nonvolatile memory to save the management data temporarily stored in the volatile memory, in the second area of the nonvolatile memory at a second predetermined timing that is different from the first predetermined timing, and
- in case of power-off before the management data is stored in the second area of the nonvolatile memory, at a time of start of the memory system after the power-off, use the first data in the first area of the nonvolatile memory to restore the management data, and store the restored management data in the volatile memory.
A memory system which is accessible from a host device, comprising:
- a volatile memory;
- a nonvolatile memory including a first area and a second area different from the first area;
- and
- a memory controller configured to:
- temporarily store, in the volatile memory, management data including mapping information that associates a logical address managed by the host device with a physical address of the nonvolatile memory using one or more of a plurality of entries, each of the entries corresponding to data of a page and including a logical address managed by the host device, a logical address of the nonvolatile memory, a first flag indicating whether or not the page is valid, and a second flag indicating whether or not the page is designated to be deleted,
- upon receiving a deletion request from the host device, temporarily store, in the volatile memory, first data including a logical address and a deletion range designated by the deletion request and update the management data to specify data that are designated to be deleted by the deletion request, the first data being different from the management data and not including the mapping information,
- upon receiving a write request from the host device, temporarily store, in the volatile memory, second data designated by the write request and update the management data,
- control the volatile memory and the nonvolatile memory to save the first data temporarily stored in the volatile memory and the second data temporarily stored in the volatile memory, in the first area of the nonvolatile memory at a first predetermined timing,
- control the volatile memory and the nonvolatile memory to save the management data temporarily stored in the volatile memory, in the second area of the nonvolatile memory at a second predetermined timing that is different from the first predetermined timing, and
- in case of power-off before the management data is stored in the second area of the nonvolatile memory, at a time of start of the memory system after the power-off, use the first data stored in the first area of the nonvolatile memory to restore the management data, and store the restored management data in the volatile memory.
Dependencies are inferred from the claim text.