IP Library Patent Application 13831374
Patent Application
App. No. 13/831,374

Remapping Blocks in a Storage Device

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/831,374
Abstract

In the present disclosure, a persistent storage device includes both persistent storage, which includes a set of persistent storage blocks, and a storage controller. The persistent storage device stores and retrieves data in response to commands received from an external host device. The persistent storage device stores a logical block address to physical address mapping. The persistent storage device also, in response to a remapping command, stores an updated logical block address to physical block address mapping.

Claims (31)

1 . A persistent storage device, comprising:

persistent storage, comprising a set of persistent storage blocks; and

a storage controller configured to store and retrieve data in response to commands received from an external host device, the storage controller further configured to:

store, in the persistent storage device, a logical block address to physical address mapping; and

in response to a remapping command, which specifies a set of replacement logical block addresses and a set of initial logical block addresses that are to be replaced by the replacement logical block addresses in the stored logical block address to physical address mapping, store an updated logical block address to physical block address mapping in which a set of mappings of the initial logical block addresses specified by the remapping command, which map the initial logical block addresses to corresponding physical block addresses for persistent storage blocks in the persistent storage, are replaced by a set of mappings of the replacement logical block addresses specified by the remapping command, which map the replacement logical block addresses to the same physical block addresses that, prior to execution of the remapping command, corresponded to the initial logical block addresses.

2 . The persistent storage device of claim 1 , wherein the storage controller is configured to store the updated logical block address to physical block address mapping, in response to the remapping command, without transferring data from the persistent storage blocks corresponding to the initial logical block addresses to other persistent storage blocks in the persistent storage.

3 . The persistent storage device of claim 1 , wherein the replacement logical block addresses comprise a contiguous set of logical block addresses and the initial logical block addresses comprise a non-contiguous set of logical block addresses.

4 . The persistent storage device of claim 1 , wherein, the updated logical block address to physical block address mapping maps a contiguous set of logical block addresses that includes the replacement logical block addresses to a set of physical block addresses that include the physical block addresses to which the initial logical block addresses were mapped immediately prior to execution of the remapping command by the persistent storage device.

5 . The persistent storage device of claim 1 , the storage controller further including a controller memory distinct from the persistent storage, wherein the updated logical block address to physical block address mapping is stored in the controller memory.

6 . The persistent storage device of claim 5 , wherein the controller memory is non-volatile.

7 . The persistent storage device of claim 5 , wherein the controller memory comprises nonvolatile memory selected from the group consisting of battery backed DRAM, battery backed SRAM, supercapacitor backed DRAM or SRAM, ferroelectric RAM, magnetoresistive RAM, phase-change RAM, and flash memory.

8 . The persistent storage device of claim 1 , wherein the persistent storage device is implemented as a single, monolithic integrated circuit.

9 . The persistent storage device of claim 1 , further comprising a host interface for interfacing the persistent storage device to the external host device.

10 . The persistent storage device of claim 1 , wherein the remapping command is received from the external host device.

11 . A method for remapping blocks in a persistent storage device, comprising:

at the persistent storage device comprising persistent storage and a storage controller, the persistent storage comprising a set of persistent storage blocks:

storing a logical block address to physical address mapping; and

in response to a remapping command, which specifies a set of replacement logical block addresses and a set of initial logical block addresses that are to be replaced by the replacement logical block addresses in the stored logical block address to physical address mapping, store an updated logical block address to physical block address mapping in which a set of mappings of the initial logical block addresses specified by the remapping command, which map the initial logical block addresses to corresponding physical block addresses for persistent storage blocks in the persistent storage, are replaced by a set of mappings of the replacement logical block addresses specified by the remapping command, which map the replacement logical block addresses to the same physical block addresses that, prior to execution of the remapping command, corresponded to the initial logical block addresses.

12 . The method of claim 11 , including storing the updated logical block address to physical block address mapping, in response to the remapping command, without transferring data from the persistent storage blocks corresponding to the initial logical block addresses to other persistent storage blocks in the persistent storage.

13 . The method of claim 11 , wherein the replacement logical block addresses comprise a contiguous set of logical block addresses and the initial logical block addresses comprise a non-contiguous set of logical block addresses.

14 . The method of claim 11 , wherein, the updated logical block address to physical block address mapping maps a contiguous set of logical block addresses that includes the replacement logical block addresses to a set of physical block addresses that include the physical block addresses to which the initial logical block addresses were mapped immediately prior to execution of the remapping command by the persistent storage device.

15 . The method of claim 11 , wherein the storage controller of the persistent storage device includes controller memory distinct from the persistent storage, and the method includes storing the updated logical block address to physical block address mapping in the controller memory.

16 . The method of claim 15 , wherein the controller memory comprises nonvolatile memory.

17 . The method of claim 11 , wherein the controller memory is selected from the group consisting of battery backed DRAM, battery backed SRAM, supercapacitor backed DRAM or SRAM, ferroelectric RAM, magnetoresistive RAM, phase-change RAM, and flash memory.

18 . The method of claim 11 , wherein the persistent storage device is implemented as a single, monolithic integrated circuit.

19 . The method of claim 11 , wherein the persistent storage device further comprises a host interface for interfacing the persistent storage device to an external host device.

20 . The method of claim 11 , wherein the remapping command is received from an external host device.

21 . A non-transitory computer readable storage medium storing one or more programs for execution by a storage controller of a persistent storage device, the persistent storage device comprising persistent storage and the storage controller, the persistent storage comprising a set of persistent storage blocks, wherein the one or more programs, when executed by the storage controller of the persistent storage device, cause the persistent storage device to perform a method comprising:

storing, in a controller memory, a logical block address to physical address mapping; and

in response to a remapping command, which specifies a set of replacement logical block addresses and a set of initial logical block addresses that are to be replaced by the replacement logical block addresses in the stored logical block address to physical address mapping, store an updated logical block address to physical block address mapping in which a set of mappings of the initial logical block addresses specified by the remapping command, which map the initial logical block addresses to corresponding physical block addresses for persistent storage blocks in the persistent storage, are replaced by a set of mappings of the replacement logical block addresses specified by the remapping command, which map the replacement logical block addresses to the same physical block addresses that, prior to execution of the remapping command, corresponded to the initial logical block addresses.

22 . The non-transitory computer readable storage medium of claim 21 , wherein the remapping command is received from an external host device.

Assignments (3)
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038809/0672 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2016
From: SANDISK ENTERPRISE IP LLC
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 038295/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2013
From: GEORGE, JOHANN; OLBRICH, AARON
To: SANDISK ENTERPRISE IP LLC
Reel/Frame 030396/0369 →