US2022043747A1PendingUtilityA1
Remapping techniques for a range of logical block addresses in a logical to physical table of nand storage
Est. expiryAug 27, 2039(~13.1 yrs left)· nominal 20-yr term from priority
Y02D10/00G06F 2212/7203G06F 3/0608G06F 3/0679G06F 2212/1016G06F 2212/7204G06F 3/0655G06F 3/0656G06F 12/08G06F 2212/7201G06F 3/0604G06F 12/0246G06F 2212/1056G06F 2212/7208G06F 3/064
66
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
Devices and techniques are disclosed herein for remapping data of flash memory indexed by logical block addresses (LBAs) of a host device in response to re-map requests received at a flash memory system from the host device or in response to re-map requests generated at the flash memory system.
Claims
exact text as granted — not AI-modified1 . A method comprising:
at a controller of a memory device: receiving a logical block address (LBA) defragmentation command from a host device, the LBA defragmentation command including an LBA range, the defragmentation command requesting defragmentation of a LBA to physical address mapping between the LBA range;
responsive to receiving the LBA defragmentation command:
determining that a first mapping record associated with a first LBA of the LBA range indicates that the first mapping record is valid;
determining that a second mapping record associated with a second LBA of the LBA range indicates that the second mapping record is invalid;
determining that a third mapping record associated with a third LBA of the LBA range indicates that the third mapping record is valid;
determining that a fourth mapping record associated with a fourth LBA of the LBA range indicates that the fourth mapping record is valid;
determining that the second mapping record is located in a table between the first and third mapping records;
selecting the fourth mapping record to remap to the second LBA based upon an identification of a relationship between data stored at a physical address pointed to by the first LBA and data stored at a physical address pointed to by the fourth LBA; and
responsive to selecting the fourth mapping record, remapping the second mapping record associated with the second LBA to point to a physical address pointed to by the fourth LBA.
2 . The method of claim 1 , further comprising:
responsive to receiving the LBA defragmentation command: determining that a fifth mapping record associated with a fifth LBA of the LBA range indicates that the record is invalid, the fifth mapping record located in the table before the first mapping record; and wherein, responsive to determining that the fifth mapping record associated with the fifth LBA of the LBA range indicates that the record is invalid, remapping the fifth mapping record associated with the fifth LBA to point to a physical address pointed to by the third LBA.
3 . The method of claim 1 , wherein the remapping does not move or copy data stored at physical addresses of the first, second, third, or fourth LBAs.
4 . The method of claim 1 , wherein the memory device is a NAND memory device.
5 . The method of claim 1 , further comprising:
receive a logical block address (LBA) move request from the host device at the controller of the memory device, the LBA move request including a second LBA range, the second LBA range including a source LBA range and a destination LBA range; locate each record associated with one or more LBAs of the source LBA range in response to the LBA move request; set a mapping record associated with each destination LBA of the destination LBA range to point to a physical location associated with a corresponding source LBA record of the source LBA range; reset each mapping record associated with one or more LBAs of the source LBA range to an unmapped state; and wherein execution of the LBA move request does not exchange data stored on the memory device with the host device.
6 . The method of claim 1 , further comprising:
receiving an LBA copy command at the controller of the memory device from the host device, the LBA copy command including an LBA range, wherein the LBA range of the LBA copy command includes a source LBA range and a destination LBA range; locating mapping records associated with one or more LBAs of the source LBA range of the LBA copy command in response to the LBA copy command; modifying each of the mapping records associated with one or more LBAs of the source LBA range of the LBA copy command to execute a portion of the LBA copy command; and wherein execution of the LBA copy command does not exchange data stored on the memory device with the host device.
7 . The method of claim 6 , wherein, when the LBA copy command is a shallow LBA copy command, and wherein modifying each of the mapping records associated with the one or more LBAs of the source LBA range of the LBA copy command to execute a portion of the LBA copy command includes setting an L2P record associated with each destination LBA of the destination LBA range of the LBA copy command to point to a physical address associated with the corresponding source LBA of the source LBA range of the LBA copy command.
8 . A memory device comprising:
a controller; a memory, the memory storing instructions, which when executed by the controller cause the controller to perform operations comprising: receiving a logical block address (LBA) defragmentation command from a host device, the LBA defragmentation command including an LBA range, the defragmentation command requesting defragmentation of a LBA to physical address mapping between the LBA range;
responsive to receiving the LBA defragmentation command:
determining that a first mapping record associated with a first LBA of the LBA range indicates that the first mapping record is valid;
determining that a second mapping record associated with a second LBA of the LBA range indicates that the second mapping record is invalid;
determining that a third mapping record associated with a third LBA of the LBA range indicates that the third mapping record is valid;
determining that a fourth mapping record associated with a fourth LBA of the LBA range indicates that the fourth mapping record is valid;
determining that the second mapping record is located in a table between the first and third mapping records;
selecting the fourth mapping record to remap to the second LBA based upon an identification of a relationship between data stored at a physical address pointed to by the first LBA and data stored at a physical address pointed to by the fourth LBA; and
responsive to selecting the fourth mapping record, remapping the second mapping record associated with the second LBA to point to a physical address pointed to by the fourth LBA.
9 . The memory device of claim 8 , wherein the operations further comprise:
responsive to receiving the LBA defragmentation command: determining that a fifth mapping record associated with a fifth LBA of the LBA range indicates that the record is invalid, the fifth mapping record located in the table before the first mapping record; and wherein, responsive to determining that the fifth mapping record associated with the fifth LBA of the LBA range indicates that the record is invalid, remapping the fifth mapping record associated with the fifth LBA to point to a physical address pointed to by the third LBA.
10 . The memory device of claim 8 , wherein the remapping does not move or copy data stored at physical addresses of the first, second, third, or fourth LBAs.
11 . The memory device of claim 8 , wherein the memory device is a NAND memory device.
12 . The memory device of claim 8 , wherein the operations further comprise:
receive a logical block address (LBA) move request from the host device at the controller of the memory device, the LBA move request including a second LBA range, the second LBA range including a source LBA range and a destination LBA range; locate each record associated with one or more LBAs of the source LBA range in response to the LBA move request; set a mapping record associated with each destination LBA of the destination LBA range to point to a physical location associated with a corresponding source LBA record of the source LBA range; reset each mapping record associated with one or more LBAs of the source LBA range to an unmapped state; and wherein execution of the LBA move request does not exchange data stored on the memory device with the host device.
13 . The memory device of claim 8 , wherein the operations further comprise:
receiving an LBA copy command at the controller of the memory device from the host device, the LBA copy command including an LBA range, wherein the LBA range of the LBA copy command includes a source LBA range and a destination LBA range; locating mapping records associated with one or more LBAs of the source LBA range of the LBA copy command in response to the LBA copy command; modifying each of the mapping records associated with one or more LBAs of the source LBA range of the LBA copy command to execute a portion of the LBA copy command; and wherein execution of the LBA copy command does not exchange data stored on the memory device with the host device.
14 . The memory device of claim 13 , wherein, when the LBA copy command is a shallow LBA copy command, and wherein the operations of modifying each of the mapping records associated with the one or more LBAs of the source LBA range of the LBA copy command to execute a portion of the LBA copy command includes setting an L2P record associated with each destination LBA of the destination LBA range of the LBA copy command to point to a physical address associated with the corresponding source LBA of the source LBA range of the LBA copy command.
15 . A non-transitory machine-readable medium, storing instructions, which when executed by a controller of a memory device, cause the controller to perform operations comprising:
receiving a logical block address (LBA) defragmentation command from a host device, the LBA defragmentation command including an LBA range, the defragmentation command requesting defragmentation of a LBA to physical address mapping between the LBA range;
responsive to receiving the LBA defragmentation command:
determining that a first mapping record associated with a first LBA of the LBA range indicates that the first mapping record is valid;
determining that a second mapping record associated with a second LBA of the LBA range indicates that the second mapping record is invalid;
determining that a third mapping record associated with a third LBA of the LBA range indicates that the third mapping record is valid;
determining that a fourth mapping record associated with a fourth LBA of the LBA range indicates that the fourth mapping record is valid;
determining that the second mapping record is located in a table between the first and third mapping records;
selecting the fourth mapping record to remap to the second LBA based upon an identification of a relationship between data stored at a physical address pointed to by the first LBA and data stored at a physical address pointed to by the fourth LBA; and
responsive to selecting the fourth mapping record, remapping the second mapping record associated with the second LBA to point to a physical address pointed to by the fourth LBA.
16 . The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:
responsive to receiving the LBA defragmentation command: determining that a fifth mapping record associated with a fifth LBA of the LBA range indicates that the record is invalid, the fifth mapping record located in the table before the first mapping record; and wherein, responsive to determining that the fifth mapping record associated with the fifth LBA of the LBA range indicates that the record is invalid, remapping the fifth mapping record associated with the fifth LBA to point to a physical address pointed to by the third LBA.
17 . The non-transitory machine-readable medium of claim 15 , wherein the remapping does not move or copy data stored at physical addresses of the first, second, third, or fourth LBAs.
18 . The non-transitory machine-readable medium of claim 15 , wherein the memory device is a NAND memory device.
19 . The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:
receive a logical block address (LBA) move request from the host device at the controller of the memory device, the LBA move request including a second LBA range, the second LBA range including a source LBA range and a destination LBA range; locate each record associated with one or more LBAs of the source LBA range in response to the LBA move request; set a mapping record associated with each destination LBA of the destination LBA range to point to a physical location associated with a corresponding source LBA record of the source LBA range; reset each mapping record associated with one or more LBAs of the source LBA range to an unmapped state; and wherein execution of the LBA move request does not exchange data stored on the memory device with the host device.
20 . The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:
receiving an LBA copy command at the controller of the memory device from the host device, the LBA copy command including an LBA range, wherein the LBA range of the LBA copy command includes a source LBA range and a destination LBA range;
locating mapping records associated with one or more LBAs of the source LBA range of the LBA copy command in response to the LBA copy command;
modifying each of the mapping records associated with one or more LBAs of the source LBA range of the LBA copy command to execute a portion of the LBA copy command; and
wherein execution of the LBA copy command does not exchange data stored on the memory device with the host device.Join the waitlist — get patent alerts
Track US2022043747A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.