# US 2014/0195730 A1 · Robust and secure memory subsystem

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

- Number: US 2014/0195730 A1
- Document ID: US20140195730A1
- Status: Published application
- Kind: A1
- Application number: 14/149,780
- Filed: 2014-01-07
- Published: 2014-07-10
- Earliest claimed: 2013-01-07
- Inventors: Dannie Gerrit Feekes
- Web page: https://patentgrep.com/patent/US20140195730A1

## CPC

- G11C 11/40607: {Refresh operations in memory devices with an internal cache or data buffer}
- G06F 12/0864: using pseudo-associative means, e.g. set-associative or hashing
- G06F 12/1027: using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G11C 7/24: Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
- G11C 11/4078: Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells (protection of memory contents during checking or testing G11C29/52)
- G06F 12/08: in hierarchically structured memory systems, e.g. virtual memory systems
- G06F 2212/205: Hybrid memory, e.g. using both volatile and non-volatile memory
- G11C: STATIC STORES (semiconductor memory devices H10B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present disclosure is generally directed to a more robust memory subsystem having a an improved architecture for managing a memory space. In one embodiment, a method is provided that includes receiving a memory access request from a memory controller and attempting to access the requested data from a first level of memory maintained on the memory device that contains the map cache. The method is further configured to perform a lookup in the map cache to determine whether the requested address is resident in the first level of memory. If the requested data is not resident in the first level of memory, the method causes a re-map address to be calculated that identifies a location of the requested data in a lower level of memory. Conversely, if the requested data is resident in the first level of memory, the method provides the memory controller with access to the requested data.

## Claims

### Claim 1

A memory device having an integrated map cache for managing a memory space, the memory device, comprising:
a first level memory for storing data in a first level of the memory space; and
a memory map cache maintained in the same memory device as the first level memory, the memory map cache configured to map data in the memory space;
wherein common row and address bits are used in the memory map cache and the first level memory and wherein the memory device is further configured to:
receive a request to access a memory address in the memory space; and
cause the memory map cache to perform a lookup of the memory address concurrently with the first level memory accessing data at the requested memory address.

### Claim 2 (depends on 1)

The memory device as recited in claim 1, wherein the memory map cache is further configured to:
determine whether data associated with a memory request is currently in the first level memory; and
if the requested data is not in the first level memory, cause a re-map address to be calculated that identifies a location of the requested data in a level of memory lower than the first level memory.

### Claim 3 (depends on 2)

The memory device as recited in claim 2, wherein the re-map address is multiplexed into the data stream that is output by the memory device.

### Claim 4 (depends on 1)

The memory device as recited in claim 1, wherein the memory map cache is a fully associative cache integrated into a RAM memory device.

### Claim 5 (depends on 1)

The memory device as recited in claim 1, wherein the memory map cache implements hardware logic that is not accessible to a software process to map the OS visible memory space.

### Claim 6 (depends on 1)

The memory device as recited in claim 1, wherein data maintained in the memory map cache includes a protection field that indicates whether data at a corresponding memory address is associated with an enhanced security measure and wherein the memory device is further configured to generate output that includes the contents of the protection field.

### Claim 7 (depends on 1)

The memory device as recited in claim 1, wherein a memory requesting device is not able to access the data at the requested memory address until a biometric trait of a user is authenticated.

### Claim 8 (depends on 1)

The memory device as recited in claim 1, wherein data in the memory space that is associated with an enhanced security measure is exclusively maintained in the first level of memory and cannot be evicted to a lower level of memory.

### Claim 9

A system for managing a memory address space, comprising:
a memory controller operative to generate and communicate a memory request for data in the memory space to a first memory device;
a first memory device comprised of:
a memory for storing data in a first level of the memory space;
a memory map cache within the first memory device configured to map the location of data in the OS visible memory space, wherein the data may be physically stored on the first or second memory devices; and
a second memory device comprised of memory for storing data in a second level of the memory space.

### Claim 10 (depends on 9)

The system as received in claim 9, wherein the map cache is further configured to perform a lookup of a memory address across multiple segments in parallel and identify which of the multiple segments holds the memory address.

### Claim 11 (depends on 9)

The system as received in claim 9, wherein the memory map cache is further configured to:
determine whether data associated with the memory request is currently stored on the first memory device; and
if the requested data is not stored on the first memory device, cause a re-map address to be calculated that identifies a location of the requested data on a lower level of memory; and
wherein the memory controller is further operative to generate and communicate a memory request to the second memory device for data at the calculated re-map address.

### Claim 12 (depends on 9)

The system as received in claim 9, wherein the memory map cache is further configured to map pages into either the first or second levels of memory in the memory space and the existence of pages in at least one of the first and second levels of memory is guaranteed.

### Claim 13 (depends on 9)

The system as received in claim 9, wherein the memory map cache is further configured to map a given page into either the first or second levels of memory and all pages in the memory space will be present in at least the second level of memory.

### Claim 14 (depends on 9)

The system as received in claim 9, wherein the first memory device is further configured to either satisfy the memory request or provide a re-map address to the memory controller in a single operation.

### Claim 15 (depends on 9)

The system as received in claim 9, wherein the memory controller further includes biometric matching logic integrated in hardware logic of the memory controller operative to determine whether incoming biometric data matches the biometric data of an authorized user.

### Claim 16 (depends on 9)

The system as received in claim 9, wherein data in the memory space that is designated as protected is stored exclusively in the first memory device and cannot be evicted to a lower level of memory.

### Claim 17

A method implemented in a memory device having a map cache configured to manage a memory space, the method comprising:
receiving a memory access request from a memory controller;
attempting to access the requested data from a first level of memory maintained on the memory device that contains the map cache;
performing a lookup in the map cache to determine whether the requested address is resident in the first level of memory;
if the requested data is not resident in the first level of memory, causing a re-map address to be calculated that identifies a location of the requested data in a lower level of memory; and
if the requested data is resident in the first level of memory, providing the memory controller with access to the requested data.

### Claim 18 (depends on 17)

The method as recited in claim 17, wherein the page index and offset in the map cache uses the same number of address bits as the column and row address in the first level of memory and wherein the attempting to access the requested data from the first level of memory and the lookup in the map cache are performed in parallel.

### Claim 19 (depends on 17)

The method as recited in claim 17, wherein performing a lookup in the memory map cache, includes:
determining whether the requested memory address is at a location in memory that requires biometric authentication;
if biometric authentication is required, obtaining biometric information of a user associated with the memory request; and
determining whether the biometric information obtained from the user associated with the memory request matches corresponding biometric information of an authorized user.

### Claim 20 (depends on 17)

The method as recited in claim 17, wherein hardware logic is used by the map cache to map the OS visible memory space and wherein performing a lookup in the map cache to determine whether the requested address is resident in the first level of memory includes performing a simultaneous read for the memory address across multiple ways.
