IP Library › Granted Patent US 7,769,978
Granted Patent B2
US 7,769,978 · App. 11/313,633 · Granted Aug 3, 2010

Method and system for accessing non-volatile storage devices

Assignee: SanDisk Corporation
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 7,769,978
App. No.
11/313,633
Granted
Aug 3, 2010
Kind
B2
Abstract

Method for transferring data between a host system and a re-programmable non-volatile mass storage system having memory cells organized into blocks of memory cells is provided. The method includes receiving data via a first interface and/or a second interface; and making data accessible via the first interface and the second interface, even if a file name is not provided by a host system or before a write operation is complete.

Claims (38)

1. A method for transferring data between a host system and a re-programmable non-volatile mass storage system having memory cells organized into blocks of memory cells, comprising:

receiving, by the re-programmable, non-volatile mass storage system, individual files of data identified by unique file identifiers, wherein the re-programmable non-volatile mass storage system receives the individual files of data via a first host-system-accessible interface of the re-programmable non-volatile mass storage system and stores the received files of data indexed by the unique identifiers;

allocating, by the re-programmable non-volatile mass storage system, a plurality of logical block addresses to the received file data; and

updating, by the re-programmable non-volatile mass storage system, directory and file allocation table (“FAT”) entries that are used by a host and that are stored in the plurality of memory cells, so that the received file data can be accessed via a second host-system-accessible interface of the re-programmable non-volatile mass storage system, wherein the first host-system-accessible interface is a direct data file storage (DFS) interface in which data to be written to or read from the re-programmable non-volatile mass storage system is identified to the re-programmable non-volatile mass storage system by using file identifiers defined in a first address space and the second host-system-accessible interface is a logical interface in which data to be written to or read from the re-programmable non-volatile mass storage system is identified to the mass storage system by using logical addresses defined in a second address space distinct from the first address space.

2. The method of claim 1 , wherein the re-programmable non-volatile mass storage system performs the allocation by maintaining an index table in the memory cells where the file data is registered and the index table is updated when the file data is written, modified and deleted.

3. The method of claim 1 , wherein logical block address allocation and the FAT update is performed in real time.

4. The method of claim 1 , wherein logical block address allocation and the FAT update and is performed after a write operation.

5. The method of claim 1 , wherein the logical block address allocation and FAT update is performed by an embedded file system with a file output interface that is specific to a file storage back-end system.

6. A method for transferring data between a host system and a re-programmable non-volatile mass storage system having memory cells organized into blocks of memory cells, comprising:

receiving, by the re-programmable, non-volatile mass storage system, data identified by a plurality of logical addresses via a first host-system-accessible interface of the re-programmable non-volatile mass storage system, wherein the re-programmable non-volatile mass storage system receives the data; and

identifying, by the re-programmable non-volatile mass storage system, the data with file identifiers, so that the data can be accessible via a second host-system-accessible interface of the re-programmable non-volatile mass storage system, even if a file name for the data is not provided in a command received by the first host-system-accessible interface, by detecting a change made to directory and file allocation table entries that are used by a host and that are stored in the blocks of memory cells,

wherein the first host-system-accessible interface is a logical interface in which data to be written to or read from the re-programmable non-volatile mass storage system is identified to the re-programmable non-volatile mass storage system by using logical addresses defined in a first address space and the second host-system-accessible interface is a direct data file storage (DFS) interface in which data to be written to or read from the re-programmable non-volatile mass storage system is identified to the re-programmable non-volatile mass storage system by using file identifiers defined in a second address space distinct from the first address space.

7. The method of claim 6 , wherein the data is stored as internal files with unique file names.

8. The method of claim 7 , wherein the internal files with unique file names are merged into a single file after a host file name for the data is received.

9. The method of claim 7 , wherein a controller assigns the unique file names.

10. The method of claim 7 , wherein the unique file name is based on a logical block address for the data.

11. The method of claim 6 wherein data is stored in non-volatile memory cells as files.

12. A method for transferring data between a host system and a re-programmable non-volatile mass storage system having memory cells organized into blocks of memory cells, comprising:

receiving, at the re-programmable non-volatile mass storage system, data identified by a plurality of logical addresses via a first host-system-accessible interface of the re-programmable non-volatile mass storage system, wherein the re-programmable non-volatile mass storage system receives the data;

identifying, by the re-programmable non-volatile mass storage system, the data with file identifiers, so that the data can be accessible via a second host-system-accessible interface of the re-programmable non-volatile mass storage system even if a file name is not provided in a command received by the first host-system-accessible interface, by detecting a change made to directory and file allocation table entries that are used by a host and that are stored in the blocks of memory cells;

storing, by the re-programmable non-volatile mass storage system, data as internal files having unique file names; and

merging, by the re-programmable non-volatile mass storage system, the internal files with unique file names into a single file after a host file name for the data is received, wherein the first host-system-accessible interface is a logical interface in which data to be written to or read from the re-programmable non-volatile mass storage system is identified to the re-programmable non-volatile mass storage system by using logical addresses defined in a first address space and the second host-system-accessible interface is a direct data file storage (DFS) interface in which data to be written to or read from the re-programmable non-volatile mass storage system is identified to the re-programmable non-volatile mass storage system by using file identifiers defined in a second address space distinct from the first address space.

13. The method of claim 12 , wherein the data are registered with an index table that is maintained in the memory cells.

14. The method of claim 12 , wherein a controller allocates the unique file names.

15. The method of claim 12 , wherein the unique file names are based on a logical block address for the data.

16. The method of claim 12 , wherein the data is stored in non-volatile memory cells as files.

17. A method for transferring data between a host system and a re-programmable non-volatile mass storage system having memory cells organized into blocks of memory cells, comprising:

receiving, by the re-programmable non-volatile mass storage system, data occupying a plurality of logical block addresses via one or both of a first host-system-accessible interface of the re-programmable non-volatile mass storage system and a second host-system-accessible interface of the re-programmable non-volatile mass storage system; and

making, by the re-programmable non-volatile mass storage system, data for each logical block address occupied accessible via the first host-system-accessible interface and the second host-system-accessible interface, even if a file name is not provided in a command received by the second host-system-accessible interface or before data for all of the plurality of logical block addresses has been received, by detecting a change made to directory and file allocation table entries that are used by a host and that are stored in the blocks of memory cells, wherein the first host-system-accessible interface is a direct data file storage (DFS) interface in which data to be written to or read from the re-programmable non-volatile mass storage system is identified to the re-programmable non-volatile mass storage system by using file identifiers defined in a first address space and the second host-system-accessible interface is a logical interface in which data to be written to or read from the re-programmable non-volatile mass storage system is identified to the re-programmable non-volatile mass storage system by using logical addresses defined in a second address space distinct from the first address space.

18. The method of claim 17 , wherein individual files of data identified by unique file identifiers are received by the re-programmable non-volatile mass storage system via the first host-system-accessible interface and the re-programmable non-volatile mass storage system allocates the plurality of logical block addresses to the received file data; and updates directory and file allocation table (“FAT”) entries in the plurality of memory cells, so that the received file data can be accessible via the second host-system-accessible interface.

19. The method of claim 17 , wherein the data is stored in a plurality of non-volatile memory cells as files.

20. The method of claim 18 , wherein the logical block address allocation and FAT update is performed in real time or after a write operation.

21. The method of claim 18 , wherein the logical block address allocation and FAT update is performed by an embedded file system with a file output interface that is specific to a file storage back-end system.

22. The method of claim 17 , wherein data received via the second host-system-accessible interface is identified by the plurality of logical addresses; and the re-programmable non-volatile mass storage system identifies the data received via the second host-system-accessible interface with file identifiers, so that the data can be accessible via the first host-system-accessible interface.

23. The method of claim 22 , wherein the data identified by the plurality of logical addresses are registered with an index table that is maintained in the memory cells and stored as internal files having unique file names.

24. The method of claim 23 , wherein the internal files with unique file names are merged into a single file after a host file name for the data is received.

25. The method of claim 23 , wherein the index table is updated such that data identified by the plurality of logical addresses are associated with unique file identifiers.

26. The method of claim 23 , wherein the unique file names are based on a logical block address for the data.

Assignments (6)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038809/0472 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2011
From: SANDISK CORPORATION
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 026368/0459 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2006
From: SINCLAIR, ALAN W.; GOROBETS, SERGEY A.
To: SANDISK CORPORATION
Reel/Frame 017447/0952 →
Continuity (1)
Related Publication 20070143570A1 · Jun 21, 2007