Difference between revisions of "PineFlash"

Jump to navigation Jump to search
409 bytes added ,  13:46, 1 April 2021
(Initial construction of a road map)
(→‎Suggested Features: Punctuation)
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
The following is documentation for a proposed Pine64 product by the community and is '''not''' an official Pine64 product. This content is the result of initial discussions about this device documented in the [https://forum.pine64.org/showthread.php?tid=13301 forum].
{{Note|Page under construction, information subject to change.}}


Join us for discussion in [https://kiwiirc.com/nextclient/coffeespace.org.uk#pineflash IRC].
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 a Pine64 open source USB flash drive (hence the name ''PineFlash''), that can act as the basis of future projects in this area. An open source flash device would allow the community to address storage information security ([https://en.wikipedia.org/wiki/CIA_triad CIA]). Additionally, issues such as speed and compatibility can also be addressed.
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 12Mbit/s] (Full speed USB 1.x)
| [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 480Mbit/s] (High speed USB 2.0)
| [https://en.wikipedia.org/wiki/USB#USB_2.0 480 Mbit/s] (High-Speed USB 2.0)
|-
|-
| Write speed
| Write speed
| [https://en.wikipedia.org/wiki/USB#USB_2.0 12Mbit/s] (Full speed USB 1.x)
| 12 Mbit/s (Full-Speed USB 1.x)
| [https://en.wikipedia.org/wiki/USB#USB_2.0 480Mbit/s] (High speed USB 2.0)
| 480 Mbit/s (High-Speed USB 2.0)
|}
|}


Line 31: Line 33:
==== Hardware ====
==== Hardware ====


'''TODO''' Plan out hardware steps.
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 'hat' for the community driven [[Nutcracker]] project, specifically the BL602. The controller is RISC-V (as the final controller is planned to be) and supports quad-SPI.
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 ====


'''TODO''' The proposed schematic for the device.
'''TO-DO:''' The proposed schematic for the device.


==== BOM ====
==== BOM ====


'''TODO''' The bill of materials used in the schematic.
'''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 ====


'''TODO''' The PCB design for the device.
'''TO-DO:''' The PCB design for the device.


=== Software ===
=== Software ===
Line 68: Line 72:
==== Libraries ====
==== Libraries ====


'''TODO''' Document the prototype's software stack.
'''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 ====


'''TODO''' Figure out exactly how the prototype will be tested to ensure robustness and performance.
'''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])
331

edits

Navigation menu