IP Library › Granted Patent US 10,534,664
Granted Patent B2
US 10,534,664 · App. 15/417,853 · Granted Jan 14, 2020

In-memory data storage with adaptive memory fault tolerance

Inventors: Tong Zhang (Albany, NY); Hao Zhong (Los Gatos, CA); Fei Sun (Irvine, CA); Yang Liu (Milpitas, CA)
Assignee: SCALEFLUX
G06F11/1044G06F11/1012G06F11/1092G06F11/2094
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 10,534,664
App. No.
15/417,853
Granted
Jan 14, 2020
Kind
B2
Abstract

A storage aware memory controller for managing a physical storage system. A described controller: a system for mapping physical memory space into a memory region and a storage region; a system for applying different error protections schemes, in which a fine-grained memory fault tolerance scheme is applied to data in the memory region and a course-grained memory fault tolerance scheme is applied to data in the storage region; and a storage file system that includes a mapping table for mapping logical addresses to physical addresses for data stored in the storage region.

Claims (31)

1. A storage aware memory controller for in-memory data processing, comprising:

a system for mapping physical memory space into a memory region and a storage region;

a system for applying different error protections schemes, in which a fine-grained memory fault tolerance scheme is applied to data in the memory region and a course-grained memory fault tolerance scheme is applied to data in the storage region; and

a storage file system that includes a mapping table for mapping logical addresses to physical addresses for data stored in the storage region;

wherein the storage region includes a first partition for 1-bit/cell data storage and a second partition for m-bit/cell data storage, wherein m is greater than 1.

2. The storage aware memory controller of claim 1 , wherein the m-bit/cell data storage partition utilizes a course grained memory fault tolerance scheme that is relatively stronger than that used for 1-bit/cell data storage.

3. The storage aware memory controller of claim 2 , wherein the storage file system includes a first mapping table for mapping data in the 1-bit/cell data storage partition to a physical address and a second mapping table for mapping data in the m-bit/cell data storage partition to a physical address.

4. The storage aware memory controller of claim 1 , wherein the mapping table utilizes a logical address that includes a virtual block ID and block index.

5. The storage aware memory controller of claim 1 , further comprising logic for moving data between and among the memory region, 1-bit/cell data storage partition, and m-bit/cell data storage partition.

6. The storage aware memory controller of claim 1 , wherein the fine-grained memory fault tolerance scheme provides access patterns of 8-16 bytes, and the course-grained memory fault tolerance scheme provides access patterns of 512-4096 bytes.

7. A memory system comprising:

a set of memory chips that form a physical memory; and

a storage aware memory controller for in-memory data processing, wherein the storage aware memory controller includes:

a system for mapping the physical memory into a memory region and a storage region;

a system for applying different error protections schemes, in which a fine-grained memory fault tolerance scheme is applied to data in the memory region and a course-grained memory fault tolerance scheme is applied to data in the storage region; and

a storage filesystem that includes a mapping table for mapping logical addresses to physical addresses for data stored in the storage region;

wherein the storage region includes a first partition for 1-bit/cell data storage and a second partition for m-bit/cell data storage, wherein m is greater than 1.

8. The memory system of claim 7 , wherein the m-bit/cell data storage partition utilizes a course grained memory fault tolerance scheme that is relatively stronger than that used for 1-bit/cell data storage.

9. The memory system of claim 8 , wherein the storage filesystem includes a first mapping table for mapping data in the 1-bit/cell data storage partition to a physical address and a second mapping table for mapping data in the m-bit/cell data storage partition to a physical address.

10. The memory system of claim 7 , wherein the mapping table utilizes a logical address that includes a virtual block ID and block index.

11. The memory system of claim 7 , further comprising logic for moving data between and among the memory region, 1-bit/cell data storage partition, and m-bit/cell data storage partition.

12. The memory system of claim 7 , wherein the fine-grained memory fault tolerance scheme provides access patterns of 8-16 bytes, and the course-grained memory fault tolerance scheme provides access patterns of 512-4096 bytes.

13. Computer programming logic stored in a computer readable storage medium, which when executed by a processing core, provides storage aware memory control for in-memory data processing, and comprises:

program logic for mapping physical memory space into a memory region and a storage region;

program logic for applying different error protections schemes, in which a fine-grained memory fault tolerance scheme is applied to data in the memory region and a course-grained memory fault tolerance scheme is applied to data in the storage region; and

program logic that implements a mapping table for mapping logical addresses to physical addresses for data stored in the storage region;

wherein the storage region includes a first partition for 1-bit/cell data storage and a second partition for m-bit/cell data storage, wherein m is greater than 1.

14. The computer programming logic of claim 13 , wherein the m-bit/cell data storage partition utilizes a course grained memory fault tolerance scheme that is relatively stronger than that used for 1-bit/cell data storage.

15. The computer programming logic of claim 13 , wherein the mapping table includes a first mapping table for mapping data in the 1-bit/cell data storage partition to a physical address and a second mapping table for mapping data in the m-bit/cell data storage partition to a physical address.

16. The computer programming logic of claim 13 , wherein the mapping table utilizes a logical address that includes a virtual block ID and block index.

17. The computer programming logic of claim 13 , further comprising program logic for moving data between and among the memory region, 1-bit/cell data storage partition, and m-bit/cell data storage partition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2017
From: ZHANG, TONG; ZHONG, HAO; SUN, FEI; LIU, YANG
To: SCALEFLUX
Reel/Frame 041107/0429 →
Continuity (2)
Provisional Application 62290903 · Feb 3, 2016
Related Publication 20170220441A1 · Aug 3, 2017