تصور کنید فلشمموریای دارید که هر متنی که تا امروز نوشته شده و هر چه در آینده نوشته خواهد شد را در خود جای داده است. اگر به دنبال راهی برای به چالش کشیدن مفاهیم ذخیرهسازی هستید، باید بدانید که این تخیل اکنون به حقیقت سختافزاری تبدیل شده است.
در ۱۰ ژوئن ۲۰۲۶، پروژه Babel-USB این ایده ریاضی را با استفاده از یک ESP32-S3 پیاده کرد. برخلاف درایوهای معمولی که دادهها را در حافظههای فلش ذخیره میکنند، این پروژه منطق ذخیرهسازی را بهکل تغییر داده است.
این دستگاه از یک سیستم فایل مجازی (Virtual Filesystem) — شبیه فهرستی است که ادعا میکند تمام صفحات کتاب در آن است، اما هر صفحه را فقط وقتی میخواهید بخوانید، در لحظه مینویسد — استفاده میکند. در واقع، این سختافزار نسخه دیجیتالی «کتابخانه بابل» است؛ جایی که هر ترکیب ممکنی از حروف، در یک گوشه از این درایو نامحدود وجود دارد.
همانطور که در تحلیلهای پیشین ما دربارهی رایانش لبه (Edge Computing) اشاره کردیم، هدف همیشه جابجایی پردازش از سرورها به سختافزارهای کوچک است. در اینجا نیز پردازش جایگزین ذخیرهسازی شده است تا محدودیت فیزیکی حافظه از بین برود.
برای ساخت این ابزار به یک میکروکنترلر (Microcontroller) — مثل یک مغز کوچک و ارزانقیمت که برای کنترل قطعات الکترونیکی ساخته شده — مدل ESP32-S3 و نرمافزار Visual Studio Code با افزونه PlatformIO نیاز دارید. طبق مستندات گیتهاب، جزئیات فنی اجرای آن به شرح زیر است:
- برد باید از USB سختافزاری پشتیبانی کند (مدل S3 استاندارد آزمایششده است).
- سیستم برای ارتباط با کامپیوتر از پروتکل MTP — شبیه یک میز تحویل است که فایلها را قبل از خواندن، ابتدا باید از روی آن بردارید و به کامپیوتر منتقل کنید — استفاده میکند.
- برای تبدیل یک فایل واقعی به یک مسیر پوشه خاص در این درایو، باید اسکریپت
file-to-path.jsرا با استفاده از Bun اجرا کنید. - طبق گزارش توسعهدهندگان، تولید فایلهای حجیم (بیشتر از چند صد بایت) زمانبر است.
این پروژه بر پایه کارهای سختافزاری RigoLigoRLC و کامپوننت espressif-tinyusb-component بنا شده است. از دیدگاه مهندسی، این ابزار کمتر به ذخیرهسازی و بیشتر به «شعر محاسباتی» مربوط میشود. این یعنی فضای «بینهایت» تنها تابعی از نحوه نگاشت آدرسها به دادهها است.
گام بعدی شما
- مخزن پروژه را در گیتهاب کلون کنید تا بتوانید برد خود را فلش بزنید.
- اسکریپت تبدیل فایل به مسیر را برای یافتن متون تصادفی امتحان کنید.
- بررسی کنید که سرعت تولید فایل در سیستمهای مختلف چقدر تغییر میکند.
این تنها آغاز ماجراست؛ اثر این رویکرد بر آینده سیستمهای فایل توزیعشده را در گزارشهای بعدی بررسی خواهیم کرد.

گفتگو