331
edits
(Initial construction of a road map) |
(→Suggested Features: Punctuation) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Note|Page under construction, information subject to change.}} | |||
The following is the documentation draft for a proposed new PINE64 storage product, PineFlash. As such, PineFlash is proposed by the community and, as of April 2021, is '''neither endorsed nor acknowledged''' by PINE64 as a possible new official PINE64 product. This content is the result of initial discussions about this storage device, documented in [https://forum.pine64.org/showthread.php?tid=13301 this forum thread]. | |||
Please, consider joining us for discussion in [https://kiwiirc.com/nextclient/coffeespace.org.uk#pineflash IRC]. | |||
== Goal == | == Goal == | ||
The aim of this project is to create | The aim of this project is to create an open-hardware USB flash drive, hence the name ''PineFlash'', which can act as the basis of future projects in the area of open storage. An open-hardware flash device with open-source firmware would allow the community to address storage safety and information security. Additionally, issues such as speed, functionality and compatibility could also be addressed. | ||
== Requirements == | == Requirements == | ||
Line 15: | Line 17: | ||
|- | |- | ||
| Read speed | | Read speed | ||
| [https://en.wikipedia.org/wiki/USB#USB_2.0 | | [https://en.wikipedia.org/wiki/USB#USB_2.0 12 Mbit/s] (Full-Speed USB 1.x) | ||
| [https://en.wikipedia.org/wiki/USB#USB_2.0 | | [https://en.wikipedia.org/wiki/USB#USB_2.0 480 Mbit/s] (High-Speed USB 2.0) | ||
|- | |- | ||
| Write speed | | Write speed | ||
| | | 12 Mbit/s (Full-Speed USB 1.x) | ||
| | | 480 Mbit/s (High-Speed USB 2.0) | ||
|} | |} | ||
Line 31: | Line 33: | ||
==== Hardware ==== | ==== Hardware ==== | ||
''' | The initial idea is for the storage device to be in form of a "hat" for one of the BL602 devices manufactured and sold by PINE64, such as the [[Nutcracker]] board. | ||
'''TO-DO:''' Plan out hardware steps. | |||
==== Software ==== | ==== Software ==== | ||
Line 45: | Line 49: | ||
=== Hardware === | === Hardware === | ||
The initial prototype is to be a | The initial prototype is intended to be a "hat" for the community-driven [[Nutcracker]] project, based on the BL602 SoC. The CPU core is RISC-V (as the final controller is planned to be) and the SoC supports a quad-SPI flash interface. | ||
==== Schematic ==== | ==== Schematic ==== | ||
''' | '''TO-DO:''' The proposed schematic for the device. | ||
==== BOM ==== | ==== BOM ==== | ||
''' | '''TO-DO:''' The bill of materials used in the schematic. | ||
* [https://nz.mouser.com/ProductDetail/Winbond/W25N512GWFIG?qs=T3oQrply3y%2Fc2oXtef14%252Bg%3D%3D 512Mb serial NAND] @ $3.23 ([https://nz.mouser.com/datasheet/2/949/w25n512gw_rev_c_011419-1608377.pdf Datasheet]) | * [https://nz.mouser.com/ProductDetail/Winbond/W25N512GWFIG?qs=T3oQrply3y%2Fc2oXtef14%252Bg%3D%3D 512Mb serial NAND] @ $3.23 ([https://nz.mouser.com/datasheet/2/949/w25n512gw_rev_c_011419-1608377.pdf Datasheet]) | ||
Line 60: | Line 64: | ||
==== PCB ==== | ==== PCB ==== | ||
''' | '''TO-DO:''' The PCB design for the device. | ||
=== Software === | === Software === | ||
Line 68: | Line 72: | ||
==== Libraries ==== | ==== Libraries ==== | ||
''' | '''TO-DO:''' Document the prototype's software stack. | ||
* [https://github.com/hathach/tinyusb TinyUSB] - An open source software stack for slave USB devices | * [https://github.com/hathach/tinyusb TinyUSB] - An open source software stack for slave USB devices | ||
Line 74: | Line 78: | ||
==== Testing ==== | ==== Testing ==== | ||
''' | '''TO-DO:''' Figure out exactly how the prototype will be tested to ensure robustness and performance. | ||
== Suggested Features == | == Suggested Features == | ||
This is a list of suggested features collated and attributed (where possible). This list is not meant to encapsulate ''every'' possible idea or suggestion, just a series of plausible ones that can be considered within the scope of this project. | This is a list of suggested features, collated and attributed (where possible). This list is not meant to encapsulate ''every'' possible idea or suggestion, just a series of plausible ones that can be considered within the scope of this project. | ||
* [https://forum.pine64.org/showthread.php?tid=13301&pid=90935#pid90935 Type A & Type C USB interfaces] ([https://forum.pine64.org/member.php?action=profile&uid=16880 barray]) | * [https://forum.pine64.org/showthread.php?tid=13301&pid=90935#pid90935 Type A & Type C USB interfaces] ([https://forum.pine64.org/member.php?action=profile&uid=16880 barray]) |
edits