IP Library Granted Patent US 10,282,097
Granted Patent B2
US 10,282,097 · App. 15/476,626 · Granted May 7, 2019

Storage system and method for thin provisioning

Inventors: Amir Shaharabany (Kochav Yair, IL); Michael Zaidman (Modiin, IL); Rotem Sela (Haifa, IL); Hadas Oshinsky (Kfar Saba, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/0608G06F3/0605G06F3/0631G06F3/0685G06F3/0688G06F12/0246G06F12/08G06F2212/7201
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 10,282,097
App. No.
15/476,626
Granted
May 7, 2019
Kind
B2
Abstract

A storage system and method for thin provisioning are provided. In one embodiment, a storage system is provided comprising a memory and a controller. The controller is configured to provide a logical exported capacity of the memory to a host, wherein the logical exported capacity is greater than an actual storage capacity of the memory; receive a command from the host to write data to a logical address; determine whether there is available actual storage capacity in the memory to write the data; and write the data to a physical address in memory that corresponds to the logical address only if it is determined that there is available actual storage capacity in the memory to write the data. Other embodiments are possible, and each of the embodiments can be used alone or together in combination.

Claims (38)

1. A storage system comprising:

a memory; and

a controller in communication with the memory, wherein the controller is configured to:

provide a logical exported capacity of the memory to a host, wherein the logical exported capacity is greater than an actual storage capacity of the memory;

receive a command from the host to write data to a logical address;

determine whether a sum of the logical address and the size of the data is greater than the logical exported capacity;

determine whether there is available actual storage capacity in the memory to write the data, when the sum is not greater than the logical exported capacity; and

write the data to a physical address in memory that corresponds to the logical address only if it is determined that there is available actual storage capacity in the memory to write the data.

2. The storage system of claim 1 , wherein the controller is configured to determine whether there is available actual storage capacity in the memory by determining whether or not a storage valid count of the memory after the data is written would exceed the actual storage capacity of the memory.

3. The storage system of claim 1 , wherein the controller is further configured to determine whether the command is an overwrite command, and wherein the controller is configured to determine whether there is available actual storage capacity in the memory after determining that the command is not an overwrite command.

4. The storage system of claim 1 , wherein the controller is further configured to:

receive a discard command from the host; and

decrease a storage valid count of the memory in response to the discard command.

5. The storage system of claim 1 , wherein the data is part of a stream.

6. The storage system of claim 1 , wherein the memory comprises a three-dimensional memory.

7. The storage system of claim 1 , wherein the storage system is embedded in the host.

8. The storage system of claim 1 , wherein the storage system is removably connected to the host.

9. A method of writing data to a thin-provisioned storage system, the method comprising:

performing the following in a host in communication with a storage system, wherein the storage system comprises a memory and wherein a logical capacity of the memory exported to the host is greater than an actual storage capacity of the memory:

determining whether a sum of a logical address and a size of data to be written to the logical address is greater than the logical exported capacity;

in response to determining that the sum is not greater than the logical exported capacity, determining whether a valid data size of the memory would be greater than the actual storage capacity of the memory; and

in response to determining that the valid data size of the memory would not be greater than the actual storage capacity of the memory, sending a command to the storage system to write the data to the available logical address.

10. The method of claim 9 , wherein the storage system tracks the valid data size of the memory, and wherein the method further comprises receiving the valid data size of the memory from the storage system.

11. The method of claim 9 further comprising tracking the valid data size of the memory of the storage system.

12. The method of claim 9 further comprising determining whether the command is an overwrite command, and wherein determining whether the valid data size of the memory would be greater than the actual storage capacity of the memory is performed in response to the command not being an overwrite command.

13. The method of claim 9 further comprising decreasing a valid data size of the memory in response to a discard command.

14. The method of claim 9 , wherein the data is part of a stream.

15. The method of claim 9 , wherein the memory in the storage system comprises a three-dimensional memory.

16. The method of claim 9 , wherein the storage system is embedded in the host.

17. The method of claim 9 , wherein the storage system is removably connected to the host.

18. A storage system comprising:

a memory;

means for providing a logical exported capacity of the memory to a host, wherein the logical exported capacity is greater than an actual storage capacity of the memory;

means for receiving a command from the host to write data to a logical address;

means for determining whether a sum of the logical address and size of the data is greater than the logical exported capacity;

means for determining whether there is available actual storage capacity in the memory to write the data after determining that the sum is not greater than the logical exported capacity; and

means for writing the data to a physical address in memory that corresponds to the logical address only if it is determined that there is available actual storage capacity in the memory to write the data.

19. The storage system of claim 18 , wherein the memory comprises a three-dimensional memory.

Assignments (10)
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 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/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 - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2017
From: SHAHARABANY, AMIR; ZAIDMAN, MICHAEL; SELA, ROTEM; OSHINSKY, HADAS
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 042130/0440 →
Continuity (2)
Provisional Application 62442801 · Jan 5, 2017
Related Publication 20180188998A1 · Jul 5, 2018
Cited By (1)
US 12,327,034