Memory Controller Virtual Block Address Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data protection methods for non-volatile memory modules fail to prevent applications from accessing data that does not belong to them, compromising data security by allowing unauthorized access to logical blocks.

Innovation Solution

A data protection method and memory controller that configure virtual block addresses to map to logical block addresses, grouping them into exclusive areas for each application, and sending an access error message if an application attempts to access unauthorized data, thereby preventing access to data belonging to other applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If applications are allowed to access logical blocks directly, then access speed and simplicity are improved, but data security deteriorates as applications can access data that does not belong to them

Engineering Contradiction:
Improveaccess simplicityVSAvoiddata security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces a memory controller as an intermediary between applications and logical blocks. The memory controller receives access commands from applications, verifies whether the target logical block belongs to the application's authorized area, and either permits or blocks the access. This intermediary mechanism maintains data security while preserving simple application operation, as applications continue to issue access commands without needing to understand the security verification process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the logical block address space into multiple authorized areas, each assigned to specific applications. The memory controller maintains mapping information that divides logical blocks into distinct regions (e.g., first logical block address area for first application, second logical block address area for second application). This segmentation allows applications to access their designated areas directly while preventing access to other areas, thus maintaining both operational simplicity and data security.

Inventive Principle:
Principle #1Segmentation

2Reliability

If virtual block addresses are configured to map to logical block addresses with exclusive areas for each application, then data security is improved, but device complexity increases

Engineering Contradiction:
Improvedata securityVSAvoidaddress mapping complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the security verification function from the application layer and places it in the memory controller. The memory controller separately maintains mapping information that records which logical block areas belong to which applications. This extraction centralizes the complexity in the memory controller while keeping applications simple, as they only need to issue access commands without implementing their own security verification logic.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary configuration of virtual block addresses and their mapping to logical block addresses before applications access data. The memory controller pre-establishes the mapping relationships and authorized areas for each application. When applications issue access commands, the memory controller simply verifies whether the target address falls within the pre-configured authorized area, rather than performing complex real-time security checks.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9032135B2Data protecting method, memory controller and memory storage device using the same
Publication Date: 2015.05.12 PHISON ELECTRONICS
  • US9032135B2 patent drawing
  • US9032135B2 patent drawing
  • US9032135B2 patent drawing

AI summary

A data protecting method for a rewritable non-volatile memory module having physical blocks is provided, a plurality of logical block addresses is mapped to a part of the physical blocks. The method includes, configuring a plurality of virtual block addresses to map to the logical block addresses, grouping at least one virtual block address into a virtual block address area, and allocating the virtual block address area to an application. The method also includes, receiving an access command which is configured to instruct accessing a first virtual block address from the application. The method also includes: determining whether the first virtual block address belongs to the virtual block address area, if not, sending an error message to the application. Accordingly, the method can effectively prevent an application from accessing the data which can not be accessed by the application program.