IP Library › Granted Patent US 9,235,502
Granted Patent B2
US 9,235,502 · App. 13/235,019 · Granted Jan 12, 2016

Systems and methods for configuring non-volatile memory

Inventors: Vadim Khmelnitsky (Foster City, CA); Daniel J. Post (Cupertino, CA); Nir Jacob Wakrat (Los Altos, CA); Matthew J. Byom (San Jose, CA); Kenneth Herman (San Jose, CA); Alexander Sanks (Menlo Park, CA)
Assignee: APPLE INC.
G06F12/0246G06F2212/7201G06F2212/7206
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,235,502
App. No.
13/235,019
Granted
Jan 12, 2016
Kind
B2
Abstract

Systems and methods are disclosed for configuring a non-volatile memory (“NVM”). In some embodiments, each block of the NVM can include a block table-of-contents (“TOC”), which can be encoded (e.g., run-length encoded) and dynamically-sized. Thus, as user data is being programmed to a block, the size of a block TOC can be concurrently recalculated and increased only if necessary. In some embodiments, the NVM interface can use a weave sequence stored in the context information and at least one weave sequence associated with each page of a block to determine whether to replay across the pages of the block after system boot-up.

Claims (13)

1. A method for generating dynamically-sized block table-of-contents (“TOCs”) in a silicon non-volatile memory (“NVM”), the NVM comprising a plurality of blocks, wherein each block in the silicon NVM comprises a block TOC, the method comprising:

setting a size of the block TOC in each of the blocks of the silicon NVM to a default size, wherein the block TOC comprises information mapping the data pages of a block to corresponding logical addresses;

receiving at least one write command;

programming user data associated with the at least one write command to data pages of a first block;

updating block TOC data associated with the user data in volatile memory;

determining whether to increase the size of the block TOC associated with the first block based on at least one characteristic of the at least one write command; and

in response to determining to increase the size of the block TOC, dynamically increasing the size of the block TOC in the first block.

2. The method of claim 1 , wherein the rate at which the block TOC increases in size is dependent on the at least one characteristic of the at least one write command.

3. The method of claim 1 , further comprising decreasing a number of data pages of the block.

4. The method of claim 1 , further comprising dynamically increasing the size of the block TOC by one page.

5. The method of claim 1 , wherein the default size is one page.

6. The method of claim 1 , wherein the block TOC is run-length encoded.

7. The method of claim 1 , wherein the at least one characteristic comprises at least one of the size of data associated with the at least one write command, the order of logical addresses associated with the at least one write command, and the compressibility of the user data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2011
From: KHMELNITSKY, VADIM; POST, DANIEL J.; WAKRAT, NIR JACOB; BYOM, MATTHEW J.; HERMAN, KENNETH; SANKS, ALEXANDER
To: APPLE INC.
Reel/Frame 027168/0353 →
Continuity (1)
Related Publication 20130073789A1 · Mar 21, 2013