IP Library Granted Patent US 10,055,147
Granted Patent B2
US 10,055,147 · App. 14/815,886 · Granted Aug 21, 2018

Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage

Inventor: Alan W. Sinclair (Edmonton, GB)
Assignee: SANDISK TECHNOLOGIES LLC
G06F3/0619G06F3/064G06F3/0607G06F3/0611G06F3/0643G06F3/0679G06F3/0685G06F12/0246G06F12/0868G06F12/0866G06F2201/845G06F2212/205G06F2212/2022G06F2212/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,055,147
App. No.
14/815,886
Granted
Aug 21, 2018
Kind
B2
Abstract

System and method for transferring data between a host system and a data storage system is provided. The system includes an interface that uses a file based protocol to transfer data between the data storage system and the host system, wherein the data storage system includes a first mass storage device and a second mass storage device; wherein the first mass storage device is a solid state non-volatile memory device and the second mass storage device is a non-solid state memory device. The first mass storage device is a flash memory device that operates as a primary storage device that stores data on a file by file basis. The second mass storage device is a magnetic disk drive that operates as secondary storage device and stores data received via a logical interface.

Claims (54)

1. A method, comprising:

providing a file-based interface for a mass storage system to a host, the mass storage system comprising a primary storage device and a secondary storage device, the primary storage device comprising a solid-state storage device, wherein providing the file-based interface comprises:

identifying individual files by unique file identifiers and offsets within the individual files stored within one or more of the primary storage device and the secondary storage device, the offsets configurable to reference locations within the individual files other than a beginning of the individual files;

implementing a logical interface between the primary storage device and the secondary storage device, wherein implementing the logical interface comprises:

mapping unique file identifiers and offsets corresponding to file data stored within the secondary storage device to a logical address space associated with the secondary storage device;

writing data sent by the host to the mass storage system, the writing comprising:

storing the data in the primary storage device in response to the primary storage device having space available for storing the data; and

scheduling a copy operation for transferring data from the primary storage device to the secondary storage device, the copy operation comprising mapping a unique file identifier and offset for data copied in the copy operation to logical addresses for the copied data within the secondary storage device.

2. The method of claim 1 , further comprising:

determining whether incoming data to be written to the mass storage system should be stored in one or more of the primary storage device and the secondary storage device.

3. The method of claim 2 , further comprising:

segmenting file data such that a first segment of the file data is stored in the primary storage device and a second segment of the file data is stored in the secondary storage device.

4. The method of claim 1 , wherein the secondary storage device comprises a magnetic hard disk.

5. A method, comprising:

receiving unique file identifiers and offsets at a mass storage system comprising a first non-volatile storage device and a second non-volatile storage device, wherein:

the first non-volatile storage device comprises a file-based interface for referencing file data by use of unique file identifiers and offsets generated by a host system; and

the second non-volatile storage device comprises a logical interface for referencing file data by use of logical addresses of a logical address space;

receiving a request to read file data from the mass storage system, the request comprising a unique file identifier and offset;

determining a storage location for the requested file data by use of a file locator table of the mass storage system, the file locator table associating unique file identifiers and offsets with one or more of:

a file identifier and offset corresponding to the file-based interface of the first non-volatile storage device; and

a logical address corresponding to the logical interface of the second non-volatile storage device;

in response to the file locator table associating the requested file data with the first non-volatile storage device:

accessing the file data from the first non-volatile storage device by use of the received unique file identifier and offset; and

in response to the file locator table associating the requested file data with the second non-volatile storage device:

accessing the file data from the second non-volatile storage device by use of a logical address mapped to the received unique file identifier and offset; and

scheduling a copy operation to transfer the file data to the first non-volatile storage device.

6. The method of claim 5 , wherein:

a first segment of the file data is stored within the first non-volatile storage device; a second segment of the file data is stored within the second non-volatile mass storage device; and

the method further comprises transferring the first segment of the file data to the host system from the first non-volatile storage device while the second segment is being accessed from the second non-volatile storage device.

7. The method of claim 5 , wherein the first non-volatile storage device comprises a solid-state memory that operates as a primary storage device.

8. The method of claim 5 , wherein the second non-volatile storage device comprises a magnetic hard disk that operates as a secondary storage device.

9. A method, comprising:

providing a file-based interface to a host system at a first non-volatile mass storage device of a mass storage system, wherein providing the file-based interface comprises identifying individual files of data by unique file identifiers and offsets within the individual files stored within the mass storage system, wherein the host system generates the unique file identifiers and the offsets, and sends the file identifiers and offsets to the mass storage system, the offsets configurable to reference locations within the individual files other than a beginning of the individual files;

providing a logical interface between the first non-volatile mass storage device and a second non-volatile mass storage device of the mass storage system, wherein providing the logical interface comprises identifying file data stored within the second non-volatile mass storage device by use of logical addresses of a logical address space, and mapping the logical addresses of the file data to corresponding unique file identifiers and offsets of the file-based interface;

receiving a request to write specified file data through the file-based interface;

writing the specified file data to the first non-volatile mass storage device; and

in response to determining to segment the specified file data within the mass storage system:

copying a file segment of the specified file data to the second non-volatile mass storage device from the first non-volatile mass storage device by use of the logical interface; and

mapping a logical address associated with the file segment stored within the second non-volatile mass storage device to a corresponding unique file identifier and offset, such that the file segment stored within the second non-volatile mass storage device is capable of being referenced by the host system through the file-based interface.

10. The method of claim 9 , wherein the first non-volatile mass storage device is a solid-state memory that operates as a primary storage device of the mass storage system.

11. The method of claim 9 , wherein the second non-volatile mass storage device is a magnetic hard disk that operates as a secondary storage device of the mass storage system.

12. A method, comprising:

receiving a write command from a host system through a file-based interface provided by a first non-volatile mass storage device of a mass storage system, the file-based interface associating file data stored within the mass storage system with unique file identifiers and offsets, the offsets capable of referencing locations within respective files other than a beginning of the respective files;

in response to determining that space is available in the first non-volatile mass storage device for storing file data of the write command:

writing the file data in the first non-volatile mass storage device; and

in response to determining that space is not available for writing the file data in the first non-volatile mass storage device:

transferring a file from the first non-volatile mass storage device to a second non-volatile mass storage device of the mass storage system through a logical interface provided by the second non-volatile mass storage device, the logical interface assigning files to logical addresses of a logical address space, the transferring comprising:

recording mappings between logical addresses assigned to the transferred file in the logical interface of the second non-volatile mass storage device and a unique file identifier and offset for the transferred file in the file-based interface, such that the transferred file stored within the second non-volatile mass storage device is capable of being referenced by use of the unique file identifier and offset through the file-based interface provided by the first non-volatile mass storage device; and

writing the file data to the first non-volatile mass storage device in response to the transferring.

13. The method of claim 12 , wherein the first non-volatile mass storage device comprises a solid-state memory that operates as a primary storage device.

14. The method of claim 12 , wherein the second non-volatile mass storage device comprises a magnetic hard disk that operates as a secondary storage device.

15. The method of claim 12 , further comprising:

copying a segment of the transferred file to the first non-volatile mass storage device through the logical interface provided by the second non-volatile mass storage device in response to a request from the host system received through the file-based interface, the copying comprising:

mapping a unique file identifier and offset from the request to a logical address of the logical interface provided by the second non-volatile mass storage device by use of the recorded mappings.

Assignments (9)
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 (AR) Recorded Feb 22, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 066648/0284 →
PATENT COLLATERAL AGREEMENT (DDTL) Recorded Feb 22, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 066648/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2024
From: SANDISK TECHNOLOGIES LLC
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 066114/0298 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038812/0954 →
Continuity (2)
Division 11196826 · Aug 3, 2005
Related Publication 20150363135A1 · Dec 17, 2015