IP Library Granted Patent US 9,021,181
Granted Patent B1
US 9,021,181 · App. 13/231,963 · Granted Apr 28, 2015

Memory management for unifying memory cell conditions by using maximum time intervals

Inventors: Barak Rotbard (Tel Aviv, IL); Avraham Meir (Rishon Le-Zion, IL)
Assignee: Apple Inc.
G11C16/10G06F12/0246G11C7/22G06F11/076G06F2212/7207G06F3/0679
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,021,181
App. No.
13/231,963
Granted
Apr 28, 2015
Kind
B1
Abstract

A method includes accepting data for storage in a memory that is partitioned into multiple memory regions. A memory region is selected for storing the data. At least part of the data is stored in the selected memory region, subject to verifying that all the storage operations applied to the selected memory region are performed within a predefined maximum time interval.

Claims (44)

1. A method, comprising:

accepting data for storage in a memory device, wherein the memory device is partitioned into a plurality of memory regions and wherein each memory region is partitioned into a plurality of memory pages;

selecting a given memory region;

storing a first part of the data in a first memory page of the given memory region, wherein storing the first part of the data includes performing at least a first write operation on the first memory page;

recording a time stamp, wherein the time stamp is indicative of a time when the at least first write operation is applied to the first memory page;

storing a second part of the data in a second memory page of the given memory region responsive to determining that a difference between a current time and the time stamp is less than a predefined maximum time interval; and

closing the given memory region to additional write operations upon detecting that the predefined maximum time interval has expired since storing the first part of the data, wherein the given memory region includes storage space that is available for storage when closed.

2. The method according to claim 1 , further comprising, when a remaining portion of the data is still pending for storage after the given memory region is closed to the additional write operations, storing the remaining portion of the data in another memory region different from the given memory region.

3. The method according to claim 1 , further comprising storing other data in the available storage space of the given memory region before the predefined maximum time interval has expired since storing the first part of the data.

4. The method according to claim 1 , further comprising:

calculating a respective set of storage parameters that are applicable to all the memory pages in the given memory region; and

storing the respective set of storage parameters in the memory device.

5. The method according to claim 4 , wherein the memory device comprises non-volatile memory cells, and wherein calculating the respective set of storage parameters comprises defining a set of read threshold voltages for reading the non-volatile memory cells in the given memory region.

6. The method according to claim 4 , wherein calculating the respective set of storage parameters comprises computing the set of storage parameters based on only a partial subset of the plurality of memory pages in the given memory region.

7. The method according to claim 6 , wherein the partial subset comprises a single memory page.

8. An apparatus, comprising:

an interface configured to accept data for storage in a memory device wherein the memory device is partitioned into a plurality of memory regions and wherein each memory region is partitioned into a plurality of memory pages;

a timer configured to measure a predefined maximum time interval; and

storage circuitry configured to:

select a given memory region;

perform at least a first programming operation to store a first part of the data in a first memory page of the given memory region;

start the timer at a time corresponding to performing the at least first programming operation;

store a second part of the data in a second memory page of the given memory region responsive to a determination that the timer; and

close the given memory region to additional write operations upon detecting that the timer has expired, wherein the given memory region includes storage space that is available for storage when closed.

9. The apparatus according to claim 8 , wherein, when a remaining portion of the data is still pending for storage after the given memory region is closed to the additional write operations, the storage circuitry is further configured to store the remaining portion of the data in another memory region.

10. The apparatus according to claim 8 , wherein the storage circuitry is further configured to store other data in the available storage space of the given memory region before the timer expires.

11. The apparatus according to claim 8 , wherein the storage circuitry is further configured to:

calculate a respective set of storage parameters that are applicable to all the memory pages in the given memory region; and

store the respective set of storage parameters in the memory device.

12. The apparatus according to claim 11 , wherein the memory device comprises non-volatile memory cells, and wherein the respective set of storage parameters comprises a set of read threshold voltages for reading the non-volatile memory cells in the given memory region.

13. The apparatus according to claim 11 , wherein the storage circuitry is configured to calculate the respective set of storage parameters based on only a partial subset of the plurality of memory pages in the given memory region.

14. The apparatus according to claim 13 , wherein the partial subset comprises a single memory page.

15. An apparatus, comprising:

a memory device, which is partitioned into a plurality of memory regions, wherein each memory region is partitioned into a plurality of memory pages; and

storage circuitry configured to:

accept data for storage in the memory device;

select a given memory region;

perform at least a first programming operation to store a first part of the data in a first memory page of the given memory region;

record a time stamp, wherein the time stamp is indicative of a time when the at least first programming operation is applied to the first memory page;

compare a current time to the recorded time stamp;

store a second part of the data in a second memory page of the given memory region responsive to a determination that a difference in time between the current time and the recorded time stamp is less than a predefined maximum time interval; and

close the given memory region to additional write operations upon detecting that the predefined maximum time interval has expired since storing the first part of the data, wherein the given memory region includes storage space that is available for storage when closed.

16. The apparatus according to claim 15 , wherein, when a remaining portion of the data is still pending for storage after the given memory region is closed to the additional write operations, the storage circuitry is further configured to perform at least a third write operation in another memory region for storing the remaining portion of the data.

17. The apparatus according to claim 15 , wherein, the storage circuitry is further configured to store other data in the given memory region in the storage space that is available for storage before the predefined maximum time interval has expired since storing the first part of the data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2012
From: ANOBIT TECHNOLOGIES LTD.
To: APPLE INC.
Reel/Frame 028399/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2011
From: ROTBARD, BARAK; MEIR, AVRAHAM
To: ANOBIT TECHNOLOGIES LTD.
Reel/Frame 026899/0502 →
Continuity (1)
Provisional Application 61386633 · Sep 27, 2010