# US 7,609,564 B2 · Systems and techniques for non-volatile memory buffering

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,609,564 B2
- Document ID: US7609564B2
- Status: Granted
- Kind: B2
- Application number: 11/323,551
- Filed: 2005-12-31
- Published: 2007-07-05
- Granted: 2009-10-27
- Earliest claimed: 2005-12-31
- Assignees: Intel Corporation
- Inventors: Kirk Blum
- Web page: https://patentgrep.com/patent/US7609564B2

## CPC

- G11C 16/102: {External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 2212/7203: Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
- G11C: STATIC STORES (semiconductor memory devices H10B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An apparatus, system, method, and article for non-volatile memory buffering are described. The apparatus may include a data storage manager to store a data item in a rewritable non-volatile memory buffer. The data item may have a file size less than or equal to a threshold value. The rewritable non-volatile memory buffer may include one or more rewritable memory regions configured to store the data item. Other embodiments are described and claimed.

## Claims

### Claim 1

An apparatus comprising:
a data storage manager to store a data item in a non-volatile memory buffer, said data item comprising a file size less than or equal to a threshold value, said non-volatile memory buffer comprising a rewritable non-volatile memory buffer including one or more rewritable memory regions configured to store said data item, each of said one more rewritable memory regions having a data storage capacity comprising a portion of a full data storage capacity of said non-volatile memory buffer, said data storage manager to mark said non-volatile memory buffer to reclaim free space when a data capacity threshold of said non-volatile memory buffer has been met.

### Claim 2 (depends on 1)

The apparatus of claim 1, said data storage manager to store multiple data items in said non-volatile memory buffer.

### Claim 3 (depends on 1)

The apparatus of claim 1, said data storage manager to copy contents of said non-volatile memory buffer to a separate memory location.

### Claim 4 (depends on 1)

The apparatus of claim 1, further comprising a non-volatile memory to implement said non-volatile memory buffer.

### Claim 5

A system comprising:
an operating system; and
a data storage manager to integrate with said operating system, said data storage manager to store a data item in a non-volatile memory buffer, said data item comprising a file size less than or equal to a threshold value, said non-volatile memory buffer comprising a rewritable non-volatile memory buffer including one or more rewritable memory regions configured to store said data item, each of said one more rewritable memory regions having a data storage capacity comprising a portion of a full data storage capacity of said non-volatile memory buffer, said data storage manager to mark or initiate a process on said non-volatile memory buffer to reclaim free space when a data capacity threshold of said non-volatile memory buffer has been met.

### Claim 6 (depends on 5)

The system of claim 5, said data storage manager to store multiple data items in said non-volatile memory buffer.

### Claim 7 (depends on 5)

The system of claim 5, said data storage manager to copy contents of said non-volatile memory buffer to a separate memory location.

### Claim 8 (depends on 5)

The system of claim 5, further comprising a non-volatile memory to implement said non-volatile memory buffer.

### Claim 9

A method, comprising:
receiving a data item comprising a file size less than or equal to a threshold value;
storing said data item in a non-volatile memory buffer, said non-volatile memory buffer comprising a rewritable non-volatile memory buffer including one or more rewritable memory regions configured to store said data item, each of said one more rewritable memory regions having a data storage capacity comprising a portion of a full data storage capacity of said non-volatile memory buffer; and
marking said non-volatile memory buffer to reclaim free space when a data capacity threshold of said non-volatile memory buffer has been met.

### Claim 10 (depends on 9)

The method of claim 9, further comprising storing multiple data items in said non-volatile memory buffer.

### Claim 11 (depends on 9)

The method of claim 9, further comprising copying contents of said non-volatile memory buffer to a separate memory location.

### Claim 12 (depends on 9)

The method of claim 9, further comprising allocating said non- volatile memory buffer in non-volatile memory.

### Claim 13

An article comprising a machine-readable storage medium containing instructions that if executed enable a system to:
receive a data item comprising a file size less than or equal to a threshold value; and
store said data item in a non-volatile memory buffer, said non-volatile memory buffer comprising a rewritable non-volatile memory buffer including one or more rewritable memory regions configured to store said data item, each of said one more rewritable memory regions having a data storage capacity comprising a portion of a full data storage capacity of said non-volatile memory buffer: and
mark or initiate a process on said non-volatile memory buffer to reclaim free space when a data capacity threshold of said non-volatile memory buffer has been met.

### Claim 14 (depends on 13)

The article of claim 13, further comprising instructions that if executed enable a system to store multiple data items in said non-volatile memory buffer.

### Claim 15 (depends on 13)

The article of claim 13, further comprising instructions that if executed enable a system to copy contents of said non-volatile memory buffer to a separate memory location.

### Claim 16 (depends on 13)

The article of claim 13, further comprising instructions that if executed enable a system to allocate said non-volatile memory buffer in non-volatile memory.
