banner site menu | diy ssd
  • Product
    Catalog Features
  • Pricing
    Complete Expanded Amazon Best Buy B&H Manufacturer Newegg
  • Blog
    Posts
  • Support
    FAQ

Product

Catalog Features

Pricing

Complete Expanded Amazon Best Buy B&H Manufacturer Newegg

Blog

Posts

Support

FAQ
/* ========================================================================== DIYSSD Navigation Menu Styles Scoped with 'diyssd-' prefix to prevent conflicts ========================================================================== */ /* Reset and base styles */ .diyssd-nav-container * { box-sizing: border-box; margin: 0; padding: 0; } /* Main navigation container */ .diyssd-nav-container { width: 100%; background-color: #f4f3f2; position: relative; z-index: 1000; font-family: -apple-system, BlinkMacSystemFont, Inter, Roboto, Ubuntu, sans-serif; } /* Navigation bar */ .diyssd-nav { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1rem; max-width: 100%; margin: 0 auto; position: relative; } /* ========================================================================== LOGO STYLES ========================================================================== */ .diyssd-logo { flex-shrink: 0; transition: opacity 0.2s ease; } .diyssd-logo:hover { opacity: 0.8; } .diyssd-logo img { height: auto; width: auto; max-height: 40px; max-width: 250px; display: block; padding-right: 8px; } /* ========================================================================== DESKTOP MENU STYLES ========================================================================== */ .diyssd-desktop-menu { display: none; align-items: center; list-style: none; gap: 0; } .diyssd-menu-item { position: relative; margin: 0; } .diyssd-menu-link { display: flex; align-items: center; padding: 0.75rem 1.25rem; text-decoration: none; color: #374151; font-weight: 500; font-size: 0.95rem; transition: all 0.2s ease; border-radius: 4px; white-space: nowrap; } .diyssd-menu-link:hover { background-color: rgba(0, 0, 0, 0.05); color: #1f2937; } /* Dropdown arrow */ .diyssd-menu-link.has-dropdown::after { content: "▼"; font-size: 0.7rem; margin-left: 0.5rem; transition: transform 0.2s ease; color: #6b7280; } .diyssd-menu-item:hover .diyssd-menu-link.has-dropdown::after { transform: rotate(180deg); } /* Menu dividers for desktop */ .diyssd-menu-divider { width: 1px; height: 20px; background-color: rgba(0, 0, 0, 0.4); margin: 0 0.5rem; } /* ========================================================================== DROPDOWN MENU STYLES ========================================================================== */ .diyssd-dropdown { position: absolute; top: 100%; left: 0; background-color: white; border-radius: 8px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); border: 1px solid rgba(0, 0, 0, 0.08); min-width: 200px; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.2s ease; z-index: 1001; overflow: hidden; } .diyssd-menu-item:hover .diyssd-dropdown { opacity: 1; visibility: visible; transform: translateY(0); } .diyssd-dropdown-link { display: block; padding: 0.75rem 1rem; text-decoration: none; color: #4b5563; font-size: 0.9rem; transition: all 0.15s ease; border-bottom: 1px solid #f3f4f6; } .diyssd-dropdown-link:last-child { border-bottom: none; } .diyssd-dropdown-link:hover { background-color: #f9fafb; background-color: #f2f4f5; color: #1f2937; color: #381f2f; font-weight: 400; } /* ========================================================================== MOBILE TOGGLE BUTTON (INDENTED LINES LIST ICON) ========================================================================== */ .diyssd-mobile-toggle { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 40px; height: 40px; background: none; border: none; cursor: pointer; padding: 0; transition: all 0.2s ease; } .diyssd-mobile-toggle:hover { background-color: rgba(0, 0, 0, 0.05); border-radius: 4px; } /* Indented list lines */ .diyssd-hamburger { position: relative; width: 24px; height: 2px; background-color: #374151; transition: all 0.3s ease; border-radius: 1px; } .diyssd-hamburger::before, .diyssd-hamburger::after { content: ""; position: absolute; height: 2px; background-color: #374151; transition: all 0.3s ease; border-radius: 1px; } /* Top line - full width */ .diyssd-hamburger::before { top: -6px; left: 0; width: 24px; } /* Bottom line - full width */ .diyssd-hamburger::after { bottom: -6px; left: 0; width: 24px; } /* Middle line (the hamburger element itself) - indented */ .diyssd-hamburger { width: 18px; margin-left: 6px; } /* Active state animation - transform to X */ .diyssd-mobile-toggle.active .diyssd-hamburger { background-color: transparent; transform: translateX(-3px); } .diyssd-mobile-toggle.active .diyssd-hamburger::before { top: 0; left: 0; width: 24px; transform: rotate(45deg); } .diyssd-mobile-toggle.active .diyssd-hamburger::after { bottom: 0; left: 0; width: 24px; transform: rotate(-45deg); } /* ========================================================================== MOBILE MENU STYLES ========================================================================== */ .diyssd-mobile-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); opacity: 0; visibility: hidden; transition: all 0.3s ease; z-index: 1001; } .diyssd-mobile-overlay.active { opacity: 1; visibility: visible; } .diyssd-mobile-menu { position: fixed; top: 0; left: 0; height: 100%; background-color: white; transform: translateX(-100%); transition: transform 0.3s ease; z-index: 1002; overflow-y: auto; box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1); } .diyssd-mobile-menu.active { transform: translateX(0); } /* Mobile menu header */ .diyssd-mobile-header { display: flex; justify-content: flex-end; align-items: center; padding: 1rem; border-bottom: 1px solid #e5e7eb; background-color: #f9fafb; } .diyssd-mobile-close { background: none; border: none; font-size: 1.25rem; color: #6b7280; cursor: pointer; padding: 0.5rem; border-radius: 4px; transition: all 0.2s ease; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; } .diyssd-mobile-close:hover { background-color: #e5e7eb; color: #374151; } /* Mobile navigation */ .diyssd-mobile-nav { padding: 1rem; } .diyssd-mobile-section { margin-bottom: 1.5rem; } .diyssd-mobile-heading { font-size: 1.1rem; font-weight: 600; color: #1f2937; margin-bottom: 0.5rem; } .diyssd-mobile-divider { height: 1px; background-color: #e5e7eb; margin-bottom: 0.75rem; } .diyssd-mobile-link { display: block; padding: 0.75rem 1rem; padding: 0.25rem 1rem; text-decoration: none; color: #4b5563; font-size: 0.95rem; margin-bottom: 0.25rem; border-radius: 4px; transition: all 0.2s ease; font-family: -apple-system, BlinkMacSystemFont, Inter, Roboto, Ubuntu, sans-serif; } .diyssd-mobile-link:hover { background-color: #f3f4f6; color: #1f2937; } /* ========================================================================== RESPONSIVE BREAKPOINTS ========================================================================== */ /* Mobile: 640px and below */ @media (max-width: 640px) { .diyssd-nav { padding: 0.5rem 1rem; } .diyssd-logo img { max-height: 32px; max-width: 160px; max-width: 250px; padding-right: 0; } .diyssd-mobile-menu { width: 100%; } .diyssd-mobile-toggle { display: flex; } } /* Mobile Landscape: 641px to 844px */ @media (min-width: 641px) and (max-width: 844px) { .diyssd-mobile-menu { width: 75%; max-width: 450px; } .diyssd-mobile-toggle { display: flex; } } /* Tablet: 845px to 1080px */ @media (min-width: 845px) and (max-width: 1080px) { .diyssd-mobile-menu { width: 75%; max-width: 500px; } .diyssd-mobile-toggle { display: flex; } } /* Desktop: 1081px to 1280px */ @media (min-width: 1081px) and (max-width: 1280px) { .diyssd-desktop-menu { display: flex; } .diyssd-mobile-toggle { display: none; } } /* Large Desktop: 1281px and above */ @media (min-width: 1281px) { .diyssd-desktop-menu { display: flex; } .diyssd-mobile-toggle { display: none; } .diyssd-nav { padding: 0.75rem 2rem; } } /* ========================================================================== ACCESSIBILITY & FOCUS STYLES ========================================================================== */ /* The outline will only be applied when a keyboard is used for navigation. */ body.diyssd-using-keyboard .diyssd-menu-link:focus, body.diyssd-using-keyboard .diyssd-dropdown-link:focus, body.diyssd-using-keyboard .diyssd-mobile-link:focus, body.diyssd-using-keyboard .diyssd-mobile-toggle:focus, body.diyssd-using-keyboard .diyssd-mobile-close:focus { outline: 2px solid #3b82f6; outline-offset: 2px; } /* Prevent body scroll when mobile menu is open */ .diyssd-nav-container.mobile-menu-open { overflow: hidden; } /* High contrast mode support */ @media (prefers-contrast: high) { .diyssd-menu-divider { background-color: #000; } .diyssd-dropdown { border: 2px solid #000; } .diyssd-mobile-divider { background-color: #000; height: 2px; } } /* Reduced motion support */ @media (prefers-reduced-motion: reduce) { .diyssd-nav-container * { transition: none !important; animation: none !important; } }
/* Global reset for consistent box-sizing */ * { box-sizing: border-box; } /* Container for the entire TOC component */ .toc-embed-wrapper .toc-container { max-width: 800px; margin: 40px auto; } /* Individual collapsible item styling */ .toc-embed-wrapper .toc-item { background: #fff; border-radius: 16px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); margin-bottom: 18px; overflow: hidden; /* Prevents content from breaking border radius */ transition: box-shadow 0.2s ease; /* Smooth hover effect */ } /* Hover effect for entire item */ .toc-embed-wrapper .toc-item:hover { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); } /* Toggle button styling - removes default button appearance */ .toc-embed-wrapper .toc-toggle { background: none; border: none; width: 100%; display: flex; justify-content: space-between; align-items: center; font-size: 1.15rem; font-weight: 500; cursor: pointer; padding: 24px 28px; outline: none; color: #1a1a1a; transition: background-color 0.2s ease; } /* Button hover state */ .toc-embed-wrapper .toc-toggle:hover { background-color: #e2e1df; } /* Keyboard focus accessibility - only visible when navigating with tab */ .toc-embed-wrapper .toc-toggle:focus-visible { outline: 2px solid #007acc; outline-offset: -2px; } /* Question text styling */ .toc-embed-wrapper .toc-question { flex: 1; /* Takes up remaining space */ font-weight: 400; text-align: left; margin: 0; } /* Plus/minus icon styling */ .toc-embed-wrapper .toc-icon { font-size: 1.8rem; font-weight: 300; transition: transform 0.3s ease, color 0.2s ease; /* Smooth rotation and color change */ margin-left: 20px; color: #666; flex-shrink: 0; /* Prevents icon from shrinking */ width: 24px; text-align: center; } /* Icon state when expanded - rotates 45deg to create X from + */ .toc-embed-wrapper .toc-toggle[aria-expanded="true"] .toc-icon { transform: rotate(45deg); color: #28a745; /* Green color when open */ } /* Answer content container - hidden by default */ .toc-embed-wrapper .toc-answer { padding: 0 28px 24px 28px; font-size: 1rem; color: #444; line-height: 1.6; display: none; /* Hidden by default */ animation: slideDown 0.3s ease-out; /* Smooth entrance animation */ } /* Show class for JavaScript toggle */ .toc-embed-wrapper .toc-answer.show { display: block; } /* Slide down animation for smooth reveal */ @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } /* Main ordered list styling (1, 2, 3...) */ .toc-embed-wrapper .toc-answer ol { list-style-type: none; /* Remove default numbering */ padding-left: 0; /* Remove default padding */ margin: 0.8em 0; /* Vertical spacing */ counter-reset: main-counter; /* Counter for main items */ } /* Main list items (h2 headers) */ .toc-embed-wrapper .toc-answer > ol > li { counter-increment: main-counter; position: relative; } .toc-embed-wrapper .toc-answer > ol > li::before { content: counter(main-counter) ". "; color: #007acc; font-weight: 600; margin-right: 0.5em; } /* Nested ordered list styling (x.1, x.2, x.3...) */ .toc-embed-wrapper .toc-answer ol ol { list-style-type: none; /* Remove default lettering */ padding-left: 2.2em; /* Additional indentation for hierarchy */ margin: 0.6em 0; /* Tighter spacing for nested items */ counter-reset: sub-counter; /* Counter for sub-items */ } /* Sub-list items (h3 headers) */ .toc-embed-wrapper .toc-answer ol ol li { counter-increment: sub-counter; position: relative; } .toc-embed-wrapper .toc-answer ol ol li::before { content: counter(main-counter) "." counter(sub-counter) " "; color: #28a745; font-weight: 500; margin-right: 0.5em; } /* Main list item spacing */ .toc-embed-wrapper .toc-answer li { margin: 0.6em 0; padding-left: 0.3em; /* Small padding for better text alignment */ } /* Nested list item spacing - tighter than main items */ .toc-embed-wrapper .toc-answer ol ol li { margin: 0.4em 0; } /* TOC link styling */ .toc-embed-wrapper .toc-answer a { text-decoration: none; color: #444; transition: color 0.2s ease; } .toc-embed-wrapper .toc-answer a:hover { color: #007acc; text-decoration: underline; } /* Remove default list marker styling since we're using custom numbering */ /* Empty state styling */ .toc-embed-wrapper .toc-empty { padding: 20px 28px; color: #888; font-style: italic; text-align: center; } /* Responsive design for mobile devices */ @media (max-width: 768px) { .toc-embed-wrapper .toc-container { margin: 20px auto; padding: 0 16px; /* Side padding on mobile */ } .toc-embed-wrapper .toc-toggle { padding: 20px 22px; /* Reduced padding on mobile */ font-size: 1.1rem; /* Slightly smaller font */ } .toc-embed-wrapper .toc-answer { padding: 0 22px 20px 22px; /* Matched reduced padding */ font-size: 0.95rem; /* Smaller text on mobile */ } .toc-embed-wrapper .toc-icon { font-size: 1.6rem; /* Smaller icon on mobile */ margin-left: 16px; } }

WD_BLACK SN770M

M.2 2230 Form Factor | PCle 4.0 Performance | Gaming-Optimized Firmware

Introduction

The WD_BLACK SN770M NVMe SSD represents a specialized storage solution engineered for compact computing devices and handheld gaming systems. As the first M.2 2230 SSD from a major storage brand targeting gamers, it addresses growing demand for high-performance storage in space-constrained environments like the Steam Deck and ASUS ROG Ally. With PCIe Gen4 capabilities and capacities up to 2TB, this drive bridges the gap between portability and desktop-grade performance.

Product Overview

Designed as a direct upgrade for M.2 2230-compatible systems, the SN770M combines Western Digital’s 112-layer BiCS5 TLC NAND with a proprietary controller in a 22x30mm form factor. Targeted at users of handheld gaming PCs, ultraportable laptops, and small-form-factor builds, it emphasizes rapid game installations, reduced load times, and expanded storage capacity without physical bulk. The drive operates on PCIe 4.0 x4 lanes while maintaining backward compatibility with PCIe 3.0 hosts.

Key Features

M.2 2230 Form Factor

At 30mm length, the SN770M fits devices incompatible with standard 2280 SSDs, including Valve’s Steam Deck and Microsoft Surface laptops. This compact design retains full PCIe 4.0 x4 bandwidth through optimized component integration.

PCIe 4.0 Performance

Delivering sequential reads up to 5,150 MB/s and writes reaching 4,900 MB/s (1TB/2TB models), the drive exceeds typical handheld storage performance by 300-400%. Western Digital’s nCache 4.0 technology accelerates small-file operations, while HMB (Host Memory Buffer) leverages system RAM to compensate for its DRAM-less architecture.

Gaming-Optimized Firmware

Microsoft DirectStorage support enables GPU-direct asset loading, reducing CPU overhead in modern games. The Western Digital Dashboard utility allows performance tuning and firmware updates, though it remains Windows-exclusive.

Performance Analysis

Sequential Speeds

In optimal PCIe 4.0 environments, the SN770M achieves 5,150 MB/s reads and 4,850 MB/s writes (2TB model). These figures place it within 15% of premium 2280 SSDs despite its size constraints. On PCIe 3.0 systems like the Steam Deck, performance caps at ~3,500 MB/s due to interface limitations[3][5].

Random Performance

The drive sustains 740K IOPS (4K QD32 reads) and 800K IOPS (4K QD32 writes), outperforming many QLC-based competitors. HMB implementation reduces write latency by 40% compared to DRAM-less designs without host buffer support[8][5].

Thermal Management

Using a single-sided layout and 16nm controller, the SN770M exhibits peak temperatures of 78°C under sustained loads. While throttling occurs after 4 minutes of continuous writes, typical gaming workloads rarely trigger thermal limits. Passive heatsinks are compatible but rarely required in handheld use cases[8][3].

Compatibility

Steam Deck and Handheld PCs

Fully compatible with Steam Deck’s M.2 2230 slot after disassembly. Installation requires PCIe 3.0 x4 compatibility, limiting sequential speeds to 3,500 MB/s but maintaining strong random performance for game assets[2][5].

Desktops and Laptops

Requires M-key M.2 slots supporting 2230/2242/2260/2280 lengths (via adapter brackets). Not recommended for PCIe 5.0 systems due to interface mismatch. Compatible with Linux distributions using kernel 5.8+ for full NVMe support[3][6].

Advantages and Limitations

Strengths

  1. Capacity Scaling: 2TB model stores 50+ modern AAA titles, doubling typical handheld storage

  2. Energy Efficiency: Consumes 35% less power than comparable Phison E21T-based drives during active use

Constraints

  1. HMB Dependency: Write performance drops 60% on systems without Host Memory Buffer support

  2. Endurance Rating: 600TBW per TB trails premium TLC drives by 25%, though sufficient for gaming workloads

Conclusion

The WD_BLACK SN770M establishes itself as the definitive storage upgrade for M.2 2230-constrained devices, particularly handheld gaming PCs. While not suitable for PS5/Xbox Series consoles due to form factor limitations, it delivers exceptional value for Steam Deck owners and ultraportable laptop users needing reliable high-speed storage. The drive’s balance of capacity, thermal characteristics, and DirectStorage optimization makes it ideal for gamers prioritizing load times and installation flexibility.

Works Cited

"Data Sheet: WD_BLACK SN770M NVMe SSD." Western Digital, documents.westerndigital.com/content/dam/doc-library/en_us/assets/public/western-digital/product/internal-drives/wd-black-ssd/data-sheet-wd-black-sn770m-nvme-ssd.pdf.

Jacobi, Jon L. "WD Black SN770M Review: A Fast, Spacious SSD for Your Steam Deck." PCWorld, www.pcworld.com/article/2095268/wd-black-sn770m-nvme-ssd-review.html.

"WD Black SN770M 2230 SSD Review." StorageReview, www.storagereview.com/review/wd-black-sn770m-2230-ssd-review.

About
Privacy
Terms
© 2024, 2025 - All Rights Reserved
Brand Logo Icon | DIY SSD