IP Library Granted Patent US 8,423,592
Granted Patent B2
US 8,423,592 · App. 12/101,569 · Granted Apr 16, 2013

Method and system for accessing a storage system with multiple file systems

Inventors: Junzhi Wang (San Jose, CA); Alon Marcu (Tel-Mond, IL); Ori Stern (Modeen, IL); Susan A. Cannon (Santa Cruz, CA); Xian Jun Liu (San Jose, CA); Chieh-Hao Yang (Sunnyvale, CA); Po Yuan (Milpitas, CA)
Assignee: SanDisk Technologies Inc.
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,423,592
App. No.
12/101,569
Granted
Apr 16, 2013
Kind
B2
Abstract

In order to write data to a storage system accessible with a first and second file system, a manager receives a data write request associated with a file. The manager determines if a function supported by the second file system is needed to complete the write request. If so, the file is opened and extended with the first file system. The file is then opened and written to by the second file system. The file is truncated by the first file system, and closed by both file systems. If the second file system function is not needed, the file is opened, written, and closed by the first file system. In order to read data from a storage system using a function supported by the second file system, the second file system's cached storage system index is updated, and then the file is opened, read, and closed by the second file system.

Claims (58)

1. A method of processing a data write request to a storage system accessible by a first file system and a second file system and indexed by a storage system index, comprising:

receiving at a host device a data write request and data, wherein the data write request is associated with a file, and the file has a size associated therewith;

determining if a function supported by the second file system is needed to complete the data write request, the function not supported by the first file system; and

in response to determining that the function supported by the second file system is needed to complete the data write request:

instructing the first file system to open the file;

instructing the first file system to extend the size of the file;

instructing the first file system to update a first cached storage system index associated with the first file system to reflect the extended size of the file;

instructing the first file system to update the storage system index with information from the updated first cached storage system index;

instructing the second file system to update a second cached storage system index associated with the second file system with information from the updated storage system index;

instructing the second file system to open the file;

instructing the second file system to write the data to the file;

instructing the second file system to close the file;

instructing the first file system to truncate the file;

instructing the first file system to close the file;

instructing the first file system to update the first cached storage system index to reflect the truncated size of the file; and

instructing the first file system to update the storage system index with information from the updated first cached storage system index

wherein the second file system is a file encryption system.

2. The method of claim 1 , further comprising:

in response to determining that the function supported by the second file system is not needed to complete the data write request:

instructing the first file system to open the file;

instructing the first file system to write the file;

instructing the first file system to close the file;

instructing the first file system to update the first cached storage system index to reflect the written file; and

instructing the first file system to update the storage system index with information from the updated first cached storage system index.

3. The method of claim 1 , wherein instructing the first file system to open the file further comprises instructing the first file system to create the file before opening the file.

4. The method of claim 1 , wherein the storage system index comprises a File Allocation Table.

5. The method of claim 1 , wherein the storage system is a removable media card comprising a non-volatile memory.

6. The method of claim 1 , wherein the first file system is a host file system.

7. The method of claim 1 , wherein the second file system is a Trusted Flash file system.

8. A system for writing data to a storage system, comprising:

a first file system, configured to write data to the storage system, the storage system comprising at least one memory;

a second file system, configured to write data to the storage system and configured to perform at least one function, the function not supported by the first file system; and

a manager, configured to:

receive a data write request and data, wherein the data write request is associated with a file, and the file has a size associated therewith,

instruct, using at least one processor, the first file system to open the file;

instruct the first file system to extend the size of the file,

instruct the first file system to update a first cached storage system index associated with the first file system to reflect the extended size of the file,

instruct the first file system to update a storage system index with information from the updated first cached storage system index,

instruct the second file system to update a second cached storage system index associated with the second file system with information from the updated storage system index,

instruct the second file system to open the file,

instruct the second file system to write the data to the file,

instruct the second file system to close the file,

instruct the first file system to truncate the file,

instruct the first file system to close the file,

instruct the first file system to update the first cached storage system index to reflect the truncated size of the file, and

instruct the first file system to update the storage system index with information from the updated first cached storage system index,

wherein the second file system is a file encryption system.

9. The system of claim 8 , wherein the manager is further configured to:

in response to determining that the function supported by the second file system is not needed to complete the data write request:

instruct the first file system to open the file;

instruct the first file system to write the file;

instruct the first file system to close the file;

instruct the first file system to update the first cached storage system index to reflect the written file; and

instruct the first file system to update the storage system index with information from the updated first cached storage system index.

10. The system of claim 8 , wherein instructing the first file system to open the file further comprises instructing the first file system to create the file before opening the file.

11. The system of claim 8 , wherein the first file system is a host file system.

12. The system of claim 8 , wherein the second file system is a Trusted Flash file system.

13. The system of claim 8 , wherein the storage system index comprises a File Allocation Table.

Assignments (3)
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038809/0600 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2011
From: SANDISK CORPORATION
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 026225/0845 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2008
From: WANG, JUNZHI; MARCU, ALON; STERN, ORI; CANNON, SUSAN A.; JUN LIU, XIAN; YANG, CHIEN-HAO; YUAN, PO
To: SANDISK CORPORATION
Reel/Frame 020966/0604 →
Continuity (1)
Related Publication 20090259798A1 · Oct 15, 2009