Non-Volatile Memory Program Circuit for Single-Command Data Alignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional non-volatile memories require external flow control for proper and safe programming operations due to their inability to check if a target sector is empty or if user data aligns with sector boundaries, leading to inefficient write operations and increased system costs.

Innovation Solution

A new program function for non-volatile memories that performs necessary operations, such as data preservation and erase operations, within a single program command, eliminating the need for external micro-controllers by using a program circuit to read, fill, and program data while ensuring alignment and sector integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional non-volatile memory programming is used, then the memory can perform basic program operations, but external flow control is required which increases device complexity and system cost

Engineering Contradiction:
Improveprogramming operationVSAvoidexternal flow control
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The memory device performs self-service by automatically checking whether the target sector is empty and whether user data aligns with sector boundaries, eliminating the need for external micro-controllers to control the programming flow. The program circuit internally manages the programming process, making the system simpler and more autonomous.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The program circuit is designed to handle multiple functions within a single programming operation: it checks sector emptiness, verifies data alignment, reads program units, and executes programming. This multi-functionality consolidates what previously required separate external control operations into a unified internal process.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If user data does not align with sector boundary, then data preservation is required which increases programming complexity, but conventional memory lacks automatic alignment checking

Engineering Contradiction:
Improvedata preservationVSAvoidalignment checking
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The program circuit performs preliminary actions by automatically checking whether user data aligns with sector boundaries before executing the programming operation. It also checks whether the target sector is empty in advance. These preliminary checks prevent data loss and ensure proper programming conditions are met before the actual write operation begins.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The program circuit incorporates feedback mechanisms to monitor the alignment of user data with sector boundaries and the status of the target sector. Based on this feedback, the circuit automatically adjusts the programming process, ensuring data preservation when necessary and eliminating the need for external alignment management.

Inventive Principle:
Principle #23Feedback

3Productivity

If write unit size is increased to improve write speed, then programming efficiency improves, but the write unit must remain smaller than or equal to erase unit which limits optimization

Engineering Contradiction:
Improvewrite speedVSAvoidprogram and erase coordination
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically coordinates programming and erasing operations based on the actual data size and sector status. The program circuit can handle variable-sized data writes within the constraints of fixed sector boundaries, automatically adjusting the programming process to maximize write efficiency while maintaining the requirement that write units remain smaller than or equal to erase units.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7975111B2Memory and method applied in one program command for the memory
Publication Date: 2011.07.05 MACRONIX INTERNATIONAL CO LTD
  • US7975111B2 patent drawing
  • US7975111B2 patent drawing
  • US7975111B2 patent drawing

AI summary

A memory and a method applied in one program command for the memory are provided. The memory includes a buffer and at least one program unit. The method includes the following steps. First, enter the program command to the memory. Next, enter user data to the buffer. Read the data of the program unit. Determine whether the user data fill the buffer. Fill the part of the buffer unoccupied by the user data with the data of the program unit if the user data do not fill the buffer. Erase the program unit if the program unit is not empty. Finally, program the data of the buffer into the program unit.