Storage Controller Counters for Nonvolatile Memory Flush Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage devices face challenges in efficiently completing buffered requests with limited resources, particularly in managing input/output (IO) and flush operations in nonvolatile memory devices.
Innovation Solution
The storage device employs a controller with multiple counters and registers to manage IO and flush requests, using counters to track request counts and registers to maintain bitmap information, optimizing resource usage and ensuring efficient completion of operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If multiple counters are used to track IO requests before and after flush operations, then request completion tracking accuracy is improved, but device complexity increases
Solution Approach 1:
The patent divides the tracking mechanism into multiple counters: first counters track pending requests before flush, second counters track requests after flush. This segmentation allows precise tracking of request completion status across flush boundaries without requiring a single complex tracking structure.
Solution Approach 2:
Bitmaps are introduced as intermediary structures that map counter indices to flush request identifiers. These bitmaps serve as mediators between the multiple counters and the flush completion logic, enabling efficient tracking without direct complex interconnections between all counter elements.
2Reliability
If counters are maintained for all pending requests, then request tracking completeness is improved, but resource consumption increases
Solution Approach 1:
The patent implements dynamic counter management where first counters are maintained for pending requests before flush, and second counters are activated for requests after flush completion. Counters are dynamically allocated and released based on request lifecycle, ensuring complete tracking while minimizing resource usage at any given time.
Solution Approach 2:
Once flush operations complete and requests are confirmed delivered, the corresponding counter resources are released and recovered for reuse. This discarding and recovering mechanism ensures that resources are not permanently consumed for completed requests, maintaining tracking completeness while controlling resource consumption.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A storage device is provided. The storage device includes: a nonvolatile memory device; and a controller including a plurality of counters, wherein the controller is configured to: increase a first count of a first counter among the plurality of counters based on first input/output (IO) requests received from an external host device; and increase a second count of a second counter among the plurality of counters based on second IO requests received from the external host device after a first flush request is received from the external host device.