Concurrent Read Write Operations in Serial Flash Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional non-volatile memory (NVM) devices, such as flash memory, face limitations in power consumption and operation speed, while newer technologies like ReRAM and CBRAM offer lower power and higher speeds but struggle with concurrent read and write operations, leading to system performance issues and potential data corruption.
Innovation Solution
A non-volatile memory device architecture that includes an interface for receiving write and read commands, a memory array with multiple array planes, and a memory controller that suspends write operations during read commands to allow for partial pausing and resuming, enabling concurrent read and write operations while minimizing noise interference.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If concurrent read and write operations are allowed in NVM devices, then system performance and throughput are improved, but data corruption and noise interference may occur
Solution Approach 1:
The memory array is divided into multiple independently controllable planes (first array plane and second array plane). The controller can simultaneously execute write operations on one plane and read operations on another plane without interference, as each plane operates independently with separate bit lines and word lines. This segmentation resolves the contradiction by enabling concurrent operations while maintaining data integrity through physical isolation of operation zones.
Solution Approach 2:
The memory controller acts as an intermediary that manages and coordinates operations across multiple planes. It detects when read and write commands are received simultaneously, suspends write operations during read operations on different planes, and resumes write operations after read operations complete. This intermediary control mechanism enables safe concurrent operations while preventing data corruption through proper timing and coordination.
2Reliability
If write operations are suspended during read operations, then data corruption is prevented, but operation latency increases
Solution Approach 1:
By dividing the memory array into multiple planes that can operate independently, the system allows write operations on one plane to continue while read operations occur on another plane. This eliminates the need to suspend write operations entirely, reducing latency while maintaining data integrity through plane isolation. The segmentation enables true parallel operation rather than sequential suspension.
Solution Approach 2:
The system maintains continuous operation by allowing write operations to proceed uninterrupted on planes not currently being read. Instead of suspending all write operations during reads, the controller enables concurrent writes on available planes, ensuring continuous useful action across the memory system while still preventing data corruption through proper plane selection and control.
3Productivity
If multiple array planes are used for concurrent operations, then throughput is improved, but device complexity increases
Solution Approach 1:
The memory array is segmented into multiple planes with independent bit lines and word lines for each plane. This physical segmentation enables concurrent operations on different planes while using shared common bit lines and control circuitry. The segmentation provides a balanced architecture that improves throughput through parallel operations while controlling complexity by reusing shared resources across planes.
Solution Approach 2:
The memory controller is designed with universal functionality to handle both read and write operations across multiple planes using the same control logic and data I/O circuitry. The same controller infrastructure manages operations on any plane, eliminating the need for separate dedicated controllers for each plane. This multi-functionality improves throughput through parallel plane operations while controlling complexity by reusing control resources.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of controlling an NVM device can include: (i) receiving, by an interface, a write command from a host; (ii) beginning execution of a write operation on a first array plane of a memory array in response to the write command, where the memory array includes a plurality of NVM cells arranged in a plurality of array planes; (iii) receiving, by the interface, a read command from the host; (iv) suspending the write operation in response to detection of the read command during execution of the write operation; (v) beginning execution of a read operation on a second array plane in response to the read command; and (vi) resuming the write operation after the read operation has at least partially been executed.