IP Library › Granted Patent US 8,935,459
Granted Patent B2
US 8,935,459 · App. 13/415,231 · Granted Jan 13, 2015

Heuristics for programming data in a non-volatile memory

Inventors: Andrew W. Vogan (Portland, OR); Daniel J. Post (Campbell, CA)
Assignee: Apple 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,935,459
App. No.
13/415,231
Granted
Jan 13, 2015
Kind
B2
Abstract

Systems and methods are disclosed for heuristics associated with programming data in a non-volatile memory (“NVM”). One or more applications can generate information that notifies a system of the amounts of recoverable and unrecoverable new data that will be programmed to an NVM. Based on this information, the system can calculate the amount of new data that needs to be placed in a bulk mode instead of a SLC mode. By utilizing multi-modal modes of an NVM effectively, the system can improve overall performance and reduce the probability of unnecessary garbage collection.

Claims (15)

1. A method for utilizing multi-modal memory, the method comprising:

receiving a command from an application comprising information associated with new data, wherein the information associated with the new data comprises an amount of recoverable new data and an amount of unrecoverable new data;

determining an estimated consumption of available space of a non-volatile memory (“NVM”) by the new data and data currently stored in the NVM, wherein the estimated consumption uses the amount of recoverable new data and the amount of unrecoverable new data as estimation factors;

determining whether a difference between the available space and the estimated consumption is greater than a pre-determined threshold; and

in response to determining that the difference between the available space and the estimated consumption is greater than the pre-determined threshold, determining an amount of the new data that needs to be programmed in a first mode of the NVM.

2. The method of claim 1 , further comprising determining to program a remaining amount of the new data in a second mode of the NVM.

3. The method of claim 1 , wherein the first mode is a bulk mode.

4. The method of claim 3 , wherein the bulk mode is one of two bits per cell mode and three bits per cell mode.

5. The method of claim 2 , wherein in response to determining that the difference between the available space and the estimated consumption is one of less than and equal to the pre-determined threshold, determining to program the new data in the second mode of the NVM.

6. The method of claim 5 , wherein the second mode is a single bit per cell (“SLC”) mode.

7. The method of claim 5 , wherein the first mode is a more reliable and less space efficient mode than the second mode.

8. The method of claim 1 , further comprising determining to program a remaining amount of the new data in at least two modes of the NVM.

9. The method of claim 1 , wherein the at least two modes of the NVM comprises at least two of a SLC mode, a SLC-XOR mode, and a bulk-XOR mode.

10. The method of claim 1 , wherein the pre-determined threshold is forty percent of the available space of the NVM.

11. The method of claim 1 , wherein the available space in the NVM excludes an amount of reserved space.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2012
From: VOGAN, ANDREW W.; POST, DANIEL J.
To: APPLE INC.
Reel/Frame 027828/0073 →
Continuity (1)
Related Publication 20130238833A1 · Sep 12, 2013