IP Library Granted Patent US 8,954,655
Granted Patent B2
US 8,954,655 · App. 13/741,299 · Granted Feb 10, 2015

Systems and methods of configuring a mode of operation in a solid-state memory

Inventors: Sebastien A. Jean (Irvine, CA); Robert L. Horn (Yorba Linda, CA)
Assignee: Western Digital Technologies, Inc.
G06F12/0246G06F13/404
View Patent ↗
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 8,954,655
App. No.
13/741,299
Granted
Feb 10, 2015
Kind
B2
Abstract

Disclosed herein is an architecture that pairs a controller with a NVM (non-volatile memory) storage system. The NVM storage system includes a bridge device that communicates with the controller. In one embodiment, the bridge device allows for certain data locations (blocks, pages or units at any other granularity) in the flash dies to be (1) placed into a reserved mode where data access is prevented (2) assigned into an SLC (Single-Level Cell) mode or an MLC (Multi-Level Cell) mode in response to controller command, (3) made available for data access after the assignment of mode. This flexibility enables the controller to increase SLC mode or MLC mode data locations based on run-time conditions. In one embodiment, the assignment of the reserved data locations is performed in a way to ensure that warranty conditions imposed by the memory vendors are observed.

Claims (108)

1. A non-volatile data storage system, comprising:

a controller;

an array of one or more solid-state memory storage devices, the memory storage devices including a plurality of multi-level cell (MLC) memory data locations capable of operating in a MLC mode and a single-level cell (SLC) mode; and

a bridge device coupled with the array, the bridge device configured to:

define a first and second region within at least some of the MLC memory data locations, wherein:

the first region includes data locations operating in the SLC or in the MLC mode;

the second region includes data locations configured to be assigned to operate in either the SLC or MLC mode;

assign data locations in the second region to operate in the SLC or MLC mode in response to a command from the controller; and

prevent data access to the data locations in the second region until they are assigned to operate in either the SLC or MLC mode.

2. The data storage system of claim 1 , wherein the second region is defined by an initial starting address and initial ending address.

3. The data storage system of claim 2 , wherein the initial starting address indicates a boundary between the first and the second regions.

4. The data storage system of claim 2 , wherein the bridge device is further configured to assign data locations in the second region to operate in the SLC or MLC mode by at least:

adjusting the initial starting address to a new starting address;

assigning the data locations located in the second region between the initial starting address and the new starting address to operate in the SLC mode or in the MLC mode, to match the operating mode of the data locations in the first region that are adjacent to the initial starting address; and

enabling data access to the newly assigned data locations.

5. The data storage system of claim 4 , wherein enabling the data access comprises one of the following:

enabling data access to the newly assigned data locations immediately upon receipt of a command from the controller to adjust the initial starting address to the new starting address;

enabling data access to the newly assigned data locations upon receipt of a command from the controller to activate access; and

enabling data access to the newly assigned data locations upon receipt of a command from the controller not specifically for access activation.

6. The data storage system of claim 4 , wherein the bridge device is further configured to:

in response to commands from the controller, successively adjust to a new starting address, wherein each new starting address is greater than a prior starting address; and

after each successive adjustment to the new starting address, assign the data locations located between the new starting address and the prior starting address to operate in a mode to match the operating mode of the data locations in the first region that are adjacent to the prior starting address.

7. The data storage system of claim 4 , wherein the bridge device is further configured to not adjust to the new starting address when it exceeds a threshold set in accordance to a manufacturer warranty constraint.

8. The data storage system of claim 4 , wherein the bridge device is further configured to reset the new starting address to the initial starting address upon a command from the controller.

9. The data storage system of claim 8 , wherein the bridge device is further configured to set a reset flag upon the reset.

10. The data storage system of claim 2 , wherein the bridge device is further configured to define, within the at least some MLC memory data locations, a third region that includes data locations operating in the SLC or in the MLC mode and wherein the initial ending address indicates a boundary between the second and the third regions.

11. The data storage system of claim 10 , wherein the bridge device is further configured to assign data locations in the second region to operate in the SLC or MLC mode by at least:

adjusting the initial ending address to a new ending address;

assigning the data locations located in the second region between the initial ending address and the new ending address to operate in the SLC mode or in the MLC mode, to match the operating mode of the data locations in the third region that are adjacent to the initial ending address; and

enabling data access to the newly assigned data locations.

12. The data storage system of claim 11 , wherein enabling the data access comprises one of the following:

enabling data access to the newly assigned data locations immediately upon receipt of a command from the controller to adjust the initial ending address to the new ending address;

enabling data access to the newly assigned data locations upon receipt of a command from the controller to activate access; and

enabling data access to the newly assigned data locations upon receipt of a command from the controller not specifically for access activation.

13. The data storage system of claim 11 , wherein the bridge device is further configured to:

in response to commands from the controller, successively adjust to a new ending address, wherein each new ending address is smaller than a prior ending address; and

after each successive adjustment to the new ending address, assign the data locations located between the new ending address and the prior ending address to operate in a mode to match the operating mode of the data locations in the third region that are adjacent to the prior ending address.

14. The data storage system of claim 11 , wherein the bridge device is further configured to not adjust to the new ending address when it exceeds a threshold set in accordance to a manufacturer warranty constraint.

15. The data storage system of claim 11 , wherein the bridge device is further configured to reset the new ending address to the initial ending address upon a command from the controller.

16. The data storage system of claim 15 , wherein the bridge device is further configured to set a reset flag upon the reset.

17. The data storage system of claim 10 , wherein the first region includes data locations operating in the SLC mode and the third region includes data location operating in the MLC mode.

18. The data storage system of claim 1 , wherein the bridge device includes one or more configuration registers and the command from the controller is indicated through setting of the one or more registers.

19. The data storage system of claim 1 , wherein the bridge device is further configured to:

define, within the at least some MLC memory data locations, a fourth region that includes data locations configured to be assigned to operate in either the SLC or MLC mode;

assign data locations in the fourth region to operate in the SLC or MLC mode in response to a command from the controller; and

prevent data access to the data locations in the fourth region until they are assigned to operate in either the SLC or MLC mode.

20. The data storage system of claim 19 , wherein the second and the fourth regions are not adjacent to each other.

21. The data storage system of claim 1 further comprising rotating magnetic media under control of the controller.

22. A method of operating a bridge device in a non-volatile data storage system comprising (1) a controller, (2) an array of one or more solid-state memory storage devices, the memory storage devices including a plurality of multi-level cell (MLC) memory data locations capable of operating in a MLC mode and a single-level cell (SLC) mode, and (3) the bridge device coupled with the array, the method comprising:

defining a first and second region within at least some of the MLC memory data locations, wherein:

the first region includes data locations operating in the SLC or in the MLC mode;

the second region includes data locations configured to be assigned to operate in either the SLC or MLC mode;

assigning data locations in the second region to operate in the SLC or MLC mode in response to a command from the controller; and

preventing data access to the data locations in the second region until they are assigned to operate in either the SLC or MLC mode.

23. The method of claim 22 , wherein the second region is defined by an initial starting address and initial ending address.

24. The method of claim 23 , wherein the initial starting address indicates a boundary between the first and the second regions.

25. The method of claim 23 , wherein assigning data locations in the second region to operate in the SLC or MLC mode further comprises:

adjusting the initial starting address to a new starting address;

assigning the data locations located in the second region between the initial starting address and the new starting address to operate in the SLC mode or in the MLC mode, to match the operating mode of the data locations in the first region that are adjacent to the initial starting address; and

enabling data access to the newly assigned data locations.

26. The method of claim 25 , wherein enabling the data access comprises one of the following:

enabling data access to the newly assigned data locations immediately upon receipt of a command from the controller to adjust the initial starting address to the new starting address;

enabling data access to the newly assigned data locations upon receipt of a command from the controller to activate access; and

enabling data access to the newly assigned data locations upon receipt of a command from the controller not specifically for access activation.

27. The method of claim 25 , further comprising:

in response to commands from the controller, successively adjusting to a new starting address, wherein each new starting address is greater than a prior starting address; and

after each successive adjustment to the new starting address, assigning the data locations located between the new starting address and the prior starting address to operate in a mode to match the operating mode of the data locations in the first region that are adjacent to the prior starting address.

28. The method of claim 25 , further comprising not adjusting to the new starting address when it exceeds a threshold set in accordance to a manufacturer warranty constraint.

29. The method of claim 25 , further comprising resetting the new starting address to the initial starting address upon a command from the controller.

30. The method of claim 29 , further comprising setting a reset flag upon the resetting.

31. The method of claim 23 , further comprising defining, within the at least some MLC memory data locations, a third region that includes data locations operating in the SLC or in the MLC mode and wherein the initial ending address indicates a boundary between the second and the third regions.

32. The method of claim 31 , wherein assigning data locations in the second region to operate in the SLC or MLC mode comprises:

adjusting the initial ending address to a new ending address;

assigning the data locations located in the second region between the initial ending address and the new ending address to operate in the SLC mode or in the MLC mode, to match the operating mode of the data locations in the third region that are adjacent to the initial ending address; and

enabling data access to the newly assigned data locations.

33. The method of claim 32 , wherein enabling the data access comprises one of the following:

enabling data access to the newly assigned data locations immediately upon receipt of a command from the controller to adjust the initial ending address to the new ending address;

enabling data access to the newly assigned data locations upon receipt of a command from the controller to activate access; and

enabling data access to the newly assigned data locations upon receipt of a command from the controller not specifically for access activation.

34. The method of claim 32 , further comprising:

in response to commands from the controller, successively adjusting to a new ending address, wherein each new ending address is smaller than a prior ending address; and

after each successive adjustment to the new ending address, assigning the data locations located between the new ending address and the prior ending address to operate in a mode to match the operating mode of the data locations in the third region that are adjacent to the prior ending address.

35. The method of claim 32 , further comprising not adjusting to the new ending address when it exceeds a threshold set in accordance to a manufacturer warranty constraint.

36. The method of claim 32 , further comprising resetting the new ending address to the initial ending address upon a command from the controller.

37. The method of claim 36 , further comprising setting a reset flag upon the resetting.

38. The method of claim 31 , wherein the first region includes data locations operating in the SLC mode and the third region includes data location operating in the MLC mode.

39. The method of claim 22 , wherein the bridge device includes one or more configuration registers and the command from the controller is indicated through setting of the one or more registers.

40. The method of claim 22 , further comprising:

defining, within the at least some MLC memory data locations, a fourth region that includes data locations configured to be assigned to operate in either the SLC or MLC mode;

assigning data locations in the fourth region to operate in the SLC or MLC mode in response to a command from the controller; and

preventing data access to the data locations in the fourth region until they are assigned to operate in either the SLC or MLC mode.

41. The method of claim 40 , wherein the second and the fourth regions are not adjacent to each other.

42. The method of claim 22 , wherein the data storage system further comprises rotating magnetic media under control of the controller.

43. A bridge device configured to be coupled with (1) an array of one or more solid-state memory storage devices, the memory storage devices including a plurality of multi-level cell (MLC) memory data locations capable of operating in a MLC mode and a single-level cell (SLC) mode and (2) a controller in a non-volatile data storage system, the bridge device configured to:

define a first and second region within at least some of the MLC memory data locations, wherein:

the first region includes data locations operating in the SLC or in the MLC mode;

the second region includes data locations configured to be assigned to operate in either the SLC or MLC mode;

assign data locations in the second region to operate in the SLC or MLC mode in response to a command from the controller; and

prevent data access to the data locations in the second region until they are assigned to operate in either the SLC or MLC mode.

44. A non-volatile data storage system, comprising:

a controller;

an array of one or more solid-state memory storage devices, the memory storage devices including a plurality of multi-level cell (MLC) memory data locations capable of operating in a plurality of MLC modes and a single-level cell (SLC) mode; and

a bridge device coupled with the array, the bridge device configured to:

define a first and second region within at least some of the MLC memory data locations, wherein:

the first region includes data locations operating in the SLC mode or in one of the plurality of MLC modes;

the second region includes data locations configured to be assigned to operate in the SLC mode or one of the plurality of MLC modes;

assign data locations in the second region to operate in the SLC or one of the plurality MLC modes in response to a command from the controller; and

prevent data access to the data locations in the second region until they are assigned to operate in either the SLC or one of the plurality of MLC modes.

Assignments (13)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2013
From: HORN, ROBERT L.; JEAN, SEBASTIEN A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 029665/0410 →
Continuity (1)
Related Publication 20140201423A1 · Jul 17, 2014