This is a very fast file system for all memory devices ( SD/MMC, HDD, and others memory storage ) and is created in ASM language.
This file system is double buffered ( One buffer for index and one buffer for data )this method was adopted to maximize performance in the event that more files are open at the same time.
Support maximum capacity between 2^40 Bytes in 256 Bytes per page and 2^48 Bytes in 65536 Bytes per page.
For moment at 16 Mhz and SPI = 8Mhz transfer rate between Controller and SD Card is: Read = 86,036KBytes/S, Write = 52,675KBytes/S in 512 Bytes per page and Read = 86,036KBytes/s, Write = 71,697KBytes/s in 2048Bytes per page.
For now this file system has the following features included:
1) FastFormatDriveMemory
2) ModifyFileDimension (From 1 do Maxim Storage support dimension )
3) ReadOneByteFromFile ( With autoincrement pointer )
4) WriteOneByteToFile ( With autoincrement pointer )
5) Create Folder (The name is maxim 48 Char )(Normal folder,Read Only Folder,System Folder,Hidden Folder)
6) Create File (The name is maxim 48 Char )(Normal File,Read Only File,System File,Hidden File)
7) Back <- 8) Rename File/Folder (ex: point "file/folder name",rename "new file/folder name" For writing method is a special feature to enlarge the size of file while writing it (for example if the file is originally created by 512 bytes (one page) and would write in 700 byte will automatically extend the file size 1024 Bytes ( 2 pages ),(If a file is created for 512Bytes long and i want to write 1MBytes linear the Write function enlarge file page by page to 1MByte size), if one file have 512 bytes dimension and i want to read one byte from 513 address the read function return error. Section of indexes on the storage is separate from the data, such is accessed 128 less pages if a page has 512 Bytes and 512 times in case a page has 2048 bytes, for navigating through the files or in the file( for example: In 512 bytes/page, one page in index sections contain indexes for 65536 Data Bytes, in 2048 Bytes/page ( maximum length of one page for SD/MMC card ) one page in index section contain indexes for 1048576 Data Bytes ). For moment the terminal contain next commands: 1) ls ( List files and folders from current folder ) 2) mkfil ( make a file with name max 48 char in current director ) 3) mkdir ( make a folder with name max 48 char in current director ) 4) cd .. ( go back ) 5) cd director ( go up one directory ) 6) format 7) point file/folder 8) rename new name of pointed file/folder
The Board is this:
This file system is double buffered ( One buffer for index and one buffer for data )this method was adopted to maximize performance in the event that more files are open at the same time.
Support maximum capacity between 2^40 Bytes in 256 Bytes per page and 2^48 Bytes in 65536 Bytes per page.
For moment at 16 Mhz and SPI = 8Mhz transfer rate between Controller and SD Card is: Read = 86,036KBytes/S, Write = 52,675KBytes/S in 512 Bytes per page and Read = 86,036KBytes/s, Write = 71,697KBytes/s in 2048Bytes per page.
For now this file system has the following features included:
1) FastFormatDriveMemory
2) ModifyFileDimension (From 1 do Maxim Storage support dimension )
3) ReadOneByteFromFile ( With autoincrement pointer )
4) WriteOneByteToFile ( With autoincrement pointer )
5) Create Folder (The name is maxim 48 Char )(Normal folder,Read Only Folder,System Folder,Hidden Folder)
6) Create File (The name is maxim 48 Char )(Normal File,Read Only File,System File,Hidden File)
7) Back <- 8) Rename File/Folder (ex: point "file/folder name",rename "new file/folder name" For writing method is a special feature to enlarge the size of file while writing it (for example if the file is originally created by 512 bytes (one page) and would write in 700 byte will automatically extend the file size 1024 Bytes ( 2 pages ),(If a file is created for 512Bytes long and i want to write 1MBytes linear the Write function enlarge file page by page to 1MByte size), if one file have 512 bytes dimension and i want to read one byte from 513 address the read function return error. Section of indexes on the storage is separate from the data, such is accessed 128 less pages if a page has 512 Bytes and 512 times in case a page has 2048 bytes, for navigating through the files or in the file( for example: In 512 bytes/page, one page in index sections contain indexes for 65536 Data Bytes, in 2048 Bytes/page ( maximum length of one page for SD/MMC card ) one page in index section contain indexes for 1048576 Data Bytes ). For moment the terminal contain next commands: 1) ls ( List files and folders from current folder ) 2) mkfil ( make a file with name max 48 char in current director ) 3) mkdir ( make a folder with name max 48 char in current director ) 4) cd .. ( go back ) 5) cd director ( go up one directory ) 6) format 7) point file/folder 8) rename new name of pointed file/folder
The Board is this:
From Digital electronics and programing |