IP Library › Granted Patent US 9,069,660
Granted Patent B2
US 9,069,660 · App. 13/840,008 · Granted Jun 30, 2015

Systems and methods for writing to high-capacity memory

Inventors: Nir Jacob Wakrat (Los Altos, CA); Matthew J. Byom (San Jose, CA)
Assignee: APPLE INC.
G06F12/0246G11C16/00
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,069,660
App. No.
13/840,008
Granted
Jun 30, 2015
Kind
B2
Abstract

Systems and methods for writing to high-capacity memory are disclosed. In high-capacity memory systems in which the capacity of the characteristic portion of the memory (e.g., a page of NAND flash memory) exceeds the capacity of a buffer used to write to the memory, underutilization issues are prevalent. Data organized in the buffer can be combined with additional data to improve utilization of the characteristic portion. According to various embodiments, the additional data can include duplicate copies of the data, whitened data, or any other suitable type of data.

Claims (38)

1. A method for writing to high-capacity memory, the method comprising:

receiving a request to write data from a host to a characteristic portion of a nonvolatile memory (“NVM”), wherein the characteristic portion is a smallest portion of the NVM that can be programmed;

determining that a capacity of a host buffer is less than or equal to half of a capacity of the characteristic portion;

transferring the data from the host buffer to an NVM package component; and

programming the data and at least one duplicate of the data to the characteristic portion.

2. The method of claim 1 , further comprising generating the at least one duplicate of the data at the host and transferring the at least one duplicate of the data from the host buffer to the NVM package component.

3. The method of claim 1 , further comprising generating the at least one duplicate of the data at the NVM package component.

4. The method of claim 1 , further comprising transferring the data from the host buffer to an NVM package component a second time to generate a duplicate of the data.

5. The method of claim 1 , further comprising combining the data and at least one duplicate of the data before the programming.

6. The method of claim 1 , wherein the number of duplicates of the data depends on the relative capacities of the host buffer and the characteristic portion.

7. The method of claim 1 , further comprising comparing the capacity of the host buffer of the host to the capacity of the characteristic portion of the NVM.

8. The method of claim 7 , wherein the comparing is executed once upon initialization of the NVM.

9. The method of claim 7 , wherein the comparing is executed each time upon receiving a request to write data from the host to a characteristic portion of the NVM.

10. A method for writing to high-capacity memory, the method comprising:

receiving a request to write data from a host to a characteristic portion of a nonvolatile memory (“NVM”), wherein the characteristic portion is a smallest portion of the NVM that can be programmed;

determining that a capacity of a host buffer is less a capacity of the characteristic portion;

transferring the data from the host buffer to an NVM package component; and

programming the data and additional data to the characteristic portion.

11. The method of claim 10 , further comprising combining the data and additional data before the programming.

12. The method of claim 10 , wherein the amount of additional data programmed to the NVM is equal to or less than the capacity of the characteristic portion minus the capacity of the host buffer.

13. The method of claim 10 , wherein the additional data comprises whitened data.

14. The method of claim 13 , further comprising generating whitened data at the host and transferring the whitened data to the NVM package component.

15. The method of claim 13 , further comprising generating whitened data at the NVM package component.

16. A system for writing to high-capacity memory, the system comprising:

non-volatile memory (“NVM”) comprising a plurality of characteristic portions, wherein each characteristic portion is a smallest portion of the NVM that can be programmed, comprising a first capacity;

a host device communicatively coupled to the non-volatile memory, the host device comprising a host controller and a host buffer, wherein the host buffer has a second capacity, and the first capacity is larger than the second capacity; and

an NVM package component configured to:

receive data transferred from the host buffer during a write request initiated by the host controller;

combine the data with additional data; and

program the data and the additional data to a characteristic portion of the NVM. package component comprises a memory controller.

17. The system of claim 16 , wherein the NVM package component comprises a memory controller.

18. The system of claim 16 , wherein the first capacity is more than three times the second capacity, and wherein the additional data comprises an item selected from the group consisting of:

two duplicate copies of the data;

one duplicate copy of the data and whitened data; and

whitened data.

19. The system of claim 16 , wherein the first capacity is more than twice the second capacity.

20. The system of claim 19 , wherein the additional data comprises a duplicate copy of the data.

21. The system of claim 19 , wherein the additional data comprises whitened data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2013
From: WAKRAT, NIR JACOB; BYOM, MATTHEW J.
To: APPLE INC.
Reel/Frame 030041/0828 →
Continuity (1)
Related Publication 20140281136A1 · Sep 18, 2014