The blog post details a teardown and analysis of a SanDisk High Endurance microSDXC card. The author physically de-caps the card to examine the controller and flash memory chips, identifying the controller as a SMI SM2703 and the NAND flash as likely Micron TLC. They then analyze the card's performance using various benchmarking tools, observing consistent write speeds around 30MB/s, significantly lower than the advertised 60MB/s. The author concludes that while the card may provide decent sustained write performance, the marketing claims are inflated and the "high endurance" aspect likely comes from over-provisioning rather than superior hardware. The post also speculates about the internal workings of the pSLC caching mechanism potentially responsible for the consistent write speeds.
This blog post by "bunnie" delves into a detailed teardown and analysis of a SanDisk High Endurance microSDXC card, specifically the 256GB variant. Motivated by a desire to understand the inner workings of these cards, particularly their longevity claims and performance characteristics, bunnie embarked on a physical and logical dissection of the device.
The physical teardown began with identifying the controller, a Silicon Motion SM2708, known for its cost-effectiveness and inclusion of wear-leveling and error correction capabilities. Bunnie notes the challenge in accessing the internal components due to the robust epoxy encapsulation, resorting to a combination of acetone soaking, mechanical force, and a hot air gun to carefully expose the die. This revealed a Micron-manufactured NAND flash chip, identified as NW943, indicative of 96-layer 3D TLC NAND. The author emphasizes the complexity and miniaturization of these components, highlighting the intricate layering and sophisticated manufacturing processes involved.
Beyond the physical analysis, the post proceeds to explore the card's logical structure and performance. Using specialized tools, bunnie examines the card's firmware and internal organization. He describes the concept of "pseudo-SLCs" (pSLC), a technique employed to boost write speeds by treating a portion of the TLC NAND as SLC. This offers higher performance but reduces overall capacity. The investigation further reveals that the card dedicates approximately 4GB to this pSLC region, dynamically managing its usage for optimal write performance.
The post also analyzes the card's wear-leveling strategies, a crucial aspect of flash memory longevity. Wear-leveling distributes write operations across the entire NAND array to prevent premature wear on specific blocks. Bunnie observes a sophisticated dynamic wear-leveling implementation, evident through monitoring write patterns and observing the even distribution of writes across different blocks. This dynamic approach, as opposed to static wear-leveling, contributes to the card's extended lifespan, particularly important for high-endurance applications like dashcams and security cameras.
Furthermore, the author examines the card's error correction mechanisms. He emphasizes the importance of robust error correction in flash memory due to the inherent susceptibility of NAND cells to bit flips and other errors. The SanDisk card implements powerful error correction codes (ECC) to ensure data integrity, contributing to its reliability in demanding environments.
Finally, the post concludes with reflections on the findings. Bunnie expresses admiration for the intricate engineering involved in creating such a compact and robust storage device. The analysis highlights the clever techniques employed, such as pSLC and dynamic wear-leveling, to balance performance, endurance, and cost. The investigation provides valuable insights into the inner workings of modern high-endurance microSD cards and sheds light on the sophisticated technology that enables reliable data storage in a wide range of applications.
Summary of Comments ( 74 )
https://news.ycombinator.com/item?id=42907766
Hacker News users discuss the intricacies of the SanDisk High Endurance card and the reverse-engineering process. Several commenters express admiration for the author's deep dive into the card's functionality, particularly the analysis of the wear-leveling algorithm and its pSLC mode. Some discuss the practical implications of the findings, including the limitations of endurance claims and the potential for data recovery even after the card is deemed "dead." One compelling exchange revolves around the trade-offs between endurance and capacity, and whether higher endurance necessitates lower overall storage. Another interesting thread explores the challenges of validating write endurance claims and the lack of standardized testing. A few commenters also share their own experiences with similar cards and offer additional insights into the complexities of flash memory technology.
The Hacker News post titled "Reverse-engineering and analysis of SanDisk High Endurance microSDXC card (2020)" has generated several comments discussing various aspects of the linked article.
Some users express appreciation for the in-depth analysis presented in the article. They commend the author's effort in meticulously dissecting the card's hardware and firmware, providing a rare glimpse into the inner workings of such devices. The level of detail, including chip identification and firmware analysis, is highlighted as particularly impressive.
Several commenters engage in a discussion regarding the wear-leveling strategies employed by flash storage devices. The concept of "over-provisioning" is brought up, with users explaining how manufacturers allocate extra storage capacity that's not accessible to the user, specifically to manage wear leveling and prolong the lifespan of the card. Some discuss the trade-off between endurance and capacity, acknowledging that high-endurance cards often sacrifice some storage space for enhanced longevity. The specific wear-leveling techniques employed by SanDisk, as revealed in the article, are a point of interest, with users speculating on their effectiveness and potential drawbacks.
The use of p-doped NAND flash memory in the SanDisk card is also a topic of discussion. Users debate the advantages and disadvantages of this technology compared to other types of NAND flash, particularly in the context of endurance and performance.
One commenter raises the issue of counterfeit memory cards, suggesting that the analysis presented in the article could be helpful in identifying fake or lower-quality cards masquerading as high-endurance products.
A few users mention the potential security implications of the firmware analysis, noting that vulnerabilities discovered through such reverse-engineering could be exploited for malicious purposes.
Finally, some comments touch on the broader topic of data recovery and the challenges involved in retrieving data from failed or damaged flash storage devices. The complexity of the firmware and wear-leveling algorithms is cited as a significant obstacle in these scenarios.