IP Library Granted Patent US 9,983,833
Granted Patent B2
US 9,983,833 · App. 14/757,468 · Granted May 29, 2018

Solid state drive with holding file for atomic updates

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 9,983,833
App. No.
14/757,468
Granted
May 29, 2018
Kind
B2
Abstract

A method of updating a file in a solid state drive (SSD) and an SSD configured to update a file in the SSD is disclosed. In one embodiment, the method includes performing one or more writes to a holding file in an auxiliary memory, the one or more writes corresponding to an update for a target file in the auxiliary memory. The method further includes applying the update to the target file in the auxiliary memory when each of the one or more writes has been successfully written to the holding file, and resetting the holding file when less than all of the one or more writes have been successfully written to the holding file. In one embodiment, a flash controller in communication with the auxiliary memory performs the update.

Claims (33)

1. A solid state drive (SSD), comprising:

a flash controller;

a flash memory array in communication with the flash controller; and

an auxiliary memory in communication with the flash controller from which the flash controller is configured to access files stored in the auxiliary memory, wherein

the SSD is configured to update a file in a pending state in the auxiliary memory and access a resulting updated file only when the update has been completed.

2. The SSD of claim 1 , wherein an update comprises one or more writes to a holding file in the auxiliary memory.

3. The SSD of claim 2 , wherein the SSD is configured to apply the update to a target file to be updated in the auxiliary memory when each of the one or more writes has been written to the holding file, and to reset the holding file when less than all of the sequence of one or more writes have been written to the holding file.

4. The SSD of claim 1 , wherein the flash controller is configured to update files in the auxiliary memory.

5. The SSD of claim 1 , wherein the auxiliary memory is coarse-grained.

6. The SSD of claim 1 , wherein the auxiliary memory comprises a serial peripheral interface (SPI) flash memory.

7. The SSD of claim 2 , wherein the one or more writes to the holding file are coarse-grained.

8. The SSD of claim 7 , wherein each of the one or more writes comprises at least 100 bytes.

9. A method of updating a file in a solid state drive (SSD), the method comprising:

performing one or more writes to a holding file in an auxiliary memory, the one or more writes corresponding to an update for a target file in the auxiliary memory;

applying the update to the target file in the auxiliary memory when each of the one or more writes has been successfully written to the holding file; and

resetting the holding file when less than all of the one or more writes have been successfully written to the holding file.

10. The method of claim 9 , wherein a flash controller in communication with the auxiliary memory performs the one or more writes corresponding to the update for the target file in the auxiliary memory, applies the update to the target file when each of the one or more writes has been written successfully to the holding file, and resets the holding file when less than all of the sequence of one or more writes have been written to the holding file.

11. The method of claim 9 , further comprising:

resetting the holding file prior to performing the one or more writes corresponding to the update for the target file in the auxiliary memory.

12. The method of claim 9 , further comprising:

updating a journal with a new journal entry after each successful write of the one or more writes to the holding file, the new journal entry recording the preceding successful write to the holding file; and

updating an entry in a file system table comprising an up-to-date record of files stored in the auxiliary memory after each new journal entry, the entry in the file system recording the preceding successful write to the holding file.

13. The method of claim 12 , further comprising:

updating the journal with a commit entry after each of the one or more writes to the holding file has been successfully written to the holding file; and

updating the file system table entries recording the one or more writes to the holding file to the target file.

14. The method of claim 13 , further comprising:

reallocating the auxiliary memory after the update to the target file is applied.

15. The method of claim 14 , wherein reallocating the auxiliary memory comprises traversing one or more sectors of the auxiliary memory and erasing the sectors that correspond to entries in the file system table that are blank.

16. The method of claim 14 , wherein the auxiliary memory is reallocated when the auxiliary memory is not being written to or read from.

17. The method of claim 9 , wherein the auxiliary memory is coarse-grained.

18. The method of claim 9 , wherein the auxiliary memory comprises a serial peripheral interface (SPI) flash memory.

19. The method of claim 9 , wherein the one or more writes to the holding file are coarse-grained.

20. The method of claim 19 , wherein each of the one or more writes comprises at least 100 bytes.

Assignments (6)
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043397/0380 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2016
From: WAIDHOFER, GORDON W.; AIOUAZ, ALI; DELANEY, CHRISTOPHER S.; THOMPSON, LELAND W.
To: TOSHIBA CORPORATION
Reel/Frame 039084/0191 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2016
From: OCZ STORAGE SOLUTIONS, INC.
To: TOSHIBA CORPORATION
Reel/Frame 038434/0371 →