Self-Indexing Memory Card Firmware for Host Speed
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Removable storage devices require external host computing devices to perform indexing, leading to user experience slowdowns due to the time-consuming process of identifying files and directories, especially when multiple directories are accessed.
Innovation Solution
The removable storage device is equipped with a controller that monitors changes and maintains an index using a delta structure with a tree data structure and dirty bits, allowing it to perform self-indexing and provide a partial index to the host system, reducing the need for extensive indexing by the host device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the host computing device performs indexing on the removable storage device, then files and directories can be identified, but user interface slowdowns occur due to the time-consuming indexing process
Solution Approach 1:
The removable storage device performs indexing operations in advance while disconnected from the host, maintaining an up-to-date index in its buffer memory. When connected to the host, the pre-indexed data is immediately available, eliminating the need for time-consuming indexing operations during host connection and thus preventing user interface slowdowns
Solution Approach 2:
The removable storage device autonomously performs indexing operations using its own controller and buffer memory without requiring the host computing device to perform indexing. The device self-maintains its file system index, making it independent of the host's processing capabilities and reducing the host's workload
2Speed
If the removable storage device maintains an index in buffer memory, then indexing speed improves, but buffer memory capacity is limited
Solution Approach 1:
The index is segmented into two parts: a frequently accessed portion maintained in the buffer memory for fast access during host connection, and a complete index stored on the removable storage media. This segmentation allows the limited buffer memory to hold only the critical index data needed for immediate host operations, while the full index resides on the media for completeness
Solution Approach 2:
The system maintains a partial index in the buffer memory that covers the most recently accessed or frequently used files, rather than attempting to hold the complete index of all files on the removable storage. This partial indexing approach provides sufficient functionality for typical user operations while working within the buffer memory capacity constraints
Data Source
AI summary
Systems and methods are disclosed for a self-indexing removable storage device. In certain embodiments, the removable storage device is configured to be connected to a memory reader of a host device. The removable storage device comprises storage media, a controller configured to run firmware, and a buffer. The controller is configured to, while connected to a first host device, receive a write operation from the first host device, monitor changes to the storage media caused by the write operation, and update a file index stored on the removable storage device with the monitored changes. The controller is further configured to, in response to connecting the removable storage device to a memory reader of a second host device, provide the file index to an application on the second host device, and cause the application to display files on the storage media based on the file index.


