US2020218451A1PendingUtilityA1
Storage device having dual access procedures
Est. expiryMar 9, 2036(~9.6 yrs left)· nominal 20-yr term from priority
Inventors:Daisuke Hashimoto
G06F 12/0246G06F 2212/7205G06F 2212/7208G06F 3/061G06F 3/0665G06F 3/0688G06F 2212/7201G06F 3/0659G06F 2212/1044G06F 3/0604G06F 2212/1024G06F 2212/261G06F 2212/214G06F 3/0679
59
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A storage device includes a nonvolatile semiconductor memory device, and a controller configured to access the nonvolatile semiconductor memory device. When the controller receives a write command including a logical address, the controller determines a physical location of the memory device in which data are written and stores a mapping from the logical address to the physical location. When the controller receives a write command without a logical address, the controller determines a physical location of the memory device in which data are written and returns the physical location.
Claims
exact text as granted — not AI-modified1 - 2 . (canceled)
3 . A storage device comprising:
a nonvolatile semiconductor memory; a first controller; and a second controller configured to:
when the first controller receives a first command from a host device,
select a target block for garbage collection from the memory,
copy valid data in the target block to another block in the memory,
map a logical address of the copied data to a physical address of said another block to which the data has been copied, and
transmit a first completion notification to the host device via the first controller, and
when the first controller receives a second command from the host device,
determine a physical address to which data specified by the second command is to be written,
copy the data to the determined physical address, and
transmit to the host device via the first controller a second completion notification with the determined physical address.
4 . The storage device according to claim 3 , wherein the second controller is further configured to, when the first controller receives a third command:
categorize a block of the memory specified by the third command as a free block, and transmit a third completion notification to the host device via the first controller.
5 . The storage device according to claim 3 , wherein the second controller is further configured to, after mapping the logical address of the copied data to the physical address of said another block, categorize the target block for garbage collection as a free block.
6 . The storage device according to claim 3 , wherein the second controller is further configured to, after copying the valid data to said another block:
determine whether said another block is full, upon determining that said another block is full, categorize said another block as an active block where data has been written, and categorize the target block for garbage collection as a free block.
7 . The storage device according to claim 3 , wherein
the second controller is further configured to, before determining the physical address to which the data is to be written,
determine whether an input block of the memory where data can be written is available, and
upon determining that the input block is not available, allocate a new input block from the memory, and
the physical address is determined from the input block.
8 . The storage device according to claim 3 , further comprising:
a volatile memory that stores mapping of logical addresses to physical addresses of the nonvolatile semiconductor memory, wherein the second controller maps the logical address of the copied data to the physical address of said another block by updating the mapping.
9 . The storage device according to claim 3 , further comprising:
a volatile memory that stores mapping indicating block categorization of physical blocks of the nonvolatile semiconductor memory including an input block where data can be written, active blocks where data has been written, and free blocks where data has not been written, wherein when the first controller receives the first command, the second controller selects the target block from the active blocks.
10 . The storage device according to claim 9 , wherein when the first controller receives the second command, the second controller determines the physical address from the input block.
11 . A method performed by a storage device, comprising:
upon receipt of a first command from a host device,
selecting a target block for garbage collection from a nonvolatile semiconductor memory of the storage device,
copying valid data in the target block to another block in the memory,
mapping a logical address of the copied data to a physical address of said another block to which the data has been copied, and
transmitting a first completion notification to the host device; and
upon receipt of a second command from the host device,
determining a physical address to which data specified by the second command is to be written,
copying the data to the determined physical address, and
transmitting to the host device a second completion notification with the determined physical address.
12 . The method according to claim 11 , further comprising:
upon receipt of a third command,
categorizing a block of the memory specified by the third command as a free block, and
transmitting a third completion notification to the host device.
13 . The method according to claim 11 , further comprising:
after the logical address of the copied data has been mapped to the physical address of said another block, categorizing the target block for garbage collection as a free block.
14 . The method according to claim 11 , further comprising:
after the valid data has been copied to said another block,
determining whether said another block is full;
upon determining that said another block is full, categorizing said another block as an active block where data has been written; and
categorizing the target block for garbage collection as a free block.
15 . The method according to claim 11 , further comprising:
before determining the physical address to which the data is to be written,
determining whether an input block of the memory where data can be written is available, and
upon determining that the input block is not available, allocating a new input block from the memory for writing the data, wherein
the physical address is determined from the input block.
16 . The method according to claim 11 , further comprising:
storing, in a volatile memory, mapping of logical addresses to physical addresses of the nonvolatile semiconductor memory, wherein the mapping is updated when the logical address of the copied data is mapped to the physical address.
17 . The method according to claim 11 , further comprising:
storing, in a volatile memory, mapping indicating block categorization of physical blocks of the nonvolatile semiconductor memory including an input block for writing data, active blocks where data has been written, and free blocks where data has not been written, wherein when the first command is received, the target block is selected from the active blocks.
18 . The method according to claim 17 , wherein when the second command is received, the physical address is determined from the input block.Join the waitlist — get patent alerts
Track US2020218451A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.