IP Library Granted Patent US 10,725,686
Granted Patent B2
US 10,725,686 · App. 16/583,534 · Granted Jul 28, 2020

Write stream separation into multiple partitions

Inventors: Erik Habbinga (Fort Collins, CO); Kevin Darveau Landin (Longmont, CO); Tod Roland Earhart (Longmont, CO); Nathan Koch (Longmont, CO); John Foister Murphy (Berthoud, CO); David Christopher Pruett (Longmont, CO); John William Slattery (Boulder, CO); Amy Lee Wohlschlegel (Lafayette, CO)
Assignee: Burlywood, Inc.
G06F3/064G06F3/0604G06F3/068G06F3/0659G06F12/0253G06F2212/7205
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,725,686
App. No.
16/583,534
Granted
Jul 28, 2020
Kind
B2
Abstract

A method of operating a storage controller is provided. The method includes receiving data transferred by a host for storage in a target partition of a storage media, and detecting properties of the data. The method also includes establishing one or more inferred partitions on the storage media based at least on the properties of the data, and based at least on the properties of the data, sorting subsets of the data for storage within the target partition and the one or more inferred partitions.

Claims (31)

1. A method of operating a storage controller, the method comprising:

receiving data transferred by a host for storage in a target partition of a storage media;

detecting properties of the data;

establishing one or more inferred partitions on the storage media based at least on the properties of the data; and

based at least on the properties of the data, sorting subsets of the data for storage within the target partition and the one or more inferred partitions.

2. The method of claim 1 , wherein the properties of the data include a frequency of updates to the data on the storage media, and recently updated data is stored in a first inferred partition, and infrequently updated data is stored in a second inferred partition.

3. The method of claim 2 , wherein the first inferred partition is higher performance than the second inferred partition.

4. The method of claim 3 , wherein the second inferred partition is garbage collected more frequently than the first inferred partition.

5. The method of claim 1 , wherein the properties of the data include a write command size, and data having small write commands is stored in a small block partition, and data having large write commands is stored in a large block partition.

6. The method of claim 5 , wherein the small block partition contains data blocks having a smaller size than data blocks within the large block partition.

7. The method of claim 1 , wherein the properties of the data include a write command location, and filesystem data and metadata is written in fixed locations, and user data is written to non-fixed locations.

8. The method of claim 1 , wherein the one or more inferred partitions include at least two partitions comprising different physical media.

9. The method of claim 1 , wherein the one or more inferred partitions include at least two partitions having different qualities of service.

10. The method of claim 1 , wherein the one or more inferred partitions include at least two partitions having different levels of power loss recovery.

11. A storage controller for a storage system, comprising:

a host interface, configured to receive data for storage within the storage system, and to transmit data from the storage system to a host system;

a storage interface, configured to transmit data to the storage system, and to receive data from the storage system; and

processing circuitry coupled with the host interface and the storage interface, configured to:

receive data transferred by a host for storage in a target partition of a storage media within the storage system;

detect properties of the data;

establish one or more inferred partitions on the storage media based at least on the properties of the data; and

based at least on the properties of the data, sort subsets of the data for storage within the target partition and the one or more inferred partitions.

12. The storage controller of claim 11 , wherein the properties of the data include a frequency of updates to the data on the storage media, and recently updated data is stored in a first inferred partition, and infrequently updated data is stored in a second inferred partition.

13. The storage controller of claim 12 , wherein the first inferred partition is higher performance than the second inferred partition.

14. The storage controller of claim 13 , wherein the second inferred partition is garbage collected more frequently than the first inferred partition.

15. The storage controller of claim 11 , wherein the properties of the data include a write command size, and data having small write commands is stored in a small block partition, and data having large write commands is stored in a large block partition.

16. The storage controller of claim 15 , wherein the small block partition contains data blocks having a smaller size than data blocks within the large block partition.

17. The storage controller of claim 11 , wherein the properties of the data include a write command location, and filesystem data and metadata is written in fixed locations, and user data is written to non-fixed locations.

18. The storage controller of claim 11 , wherein the one or more inferred partitions include at least two partitions comprising different physical media.

19. The storage controller of claim 11 , wherein the one or more inferred partitions include at least two partitions having different qualities of service.

20. The storage controller of claim 11 , wherein the one or more inferred partitions include at least two partitions having different levels of power loss recovery.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2025
From: INNOVATIVE SSD IP, LLC
To: BIP BY DDN, INC.
Reel/Frame 070844/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2025
From: JONES, MICHAEL
To: INNOVATIVE SSD IP, LLC
Reel/Frame 070582/0446 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER 10719389 TO PATENT NUMBER 10719389 PREVIOUSLY RECORDED AT REEL: 065954 FRAME: 0911. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 27, 2023
From: BURLYWOOD, INC.
To: JONES, MICHAEL
Reel/Frame 066132/0215 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2023
From: BURLYWOOD, INC.
To: JONES, MICHAEL
Reel/Frame 065954/0911 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF INVENTOR LANDIN'S MIDDLE NAME PREVIOUSLY RECORDED AT REEL: 050499 FRAME: 0802. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 4, 2019
From: HABBINGA, ERIK; LANDIN, KEVIN DARVEAU; EARHART, TOD ROLAND; KOCH, NATHAN; MURPHY, JOHN FOISTER; PRUETT, DAVID CHRISTOPHER; SLATTERY, JOHN WILLIAM; WOHLSCHLEGEL, AMY LEE
To: BURLYWOOD, INC.
Reel/Frame 050632/0177 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2019
From: HABBINGA, ERIK; LANDIN, KEVIN DARNEAU; EARHART, TOD ROLAND; KOCH, NATHAN; MURPHY, JOHN FOISTER; PRUETT, DAVID CHRISTOPHER; SLATTERY, JOHN WILLIAM; WOHLSCHLEGEL, AMY LEE
To: BURLYWOOD, INC.
Reel/Frame 050499/0802 →
Continuity (2)
Provisional Application 62738780 · Sep 28, 2018
Related Publication 20200104048A1 · Apr 2, 2020