File System Types and Overview

Sections

Introduction

Depending on the device to use, there are multiple types of file system handled by applications. Of the file systems, the following describes characteristics of those that application developers should understand.

Overview

Files systems that run when the application calls an FS API or an FS API is called within other libraries and processes are as follows:

The file system that runs when the application uses the FS library varies by usage situation as shown below:
Launch from the Optical Disc Launch from the NAND Launch from PC
Data Type Data Location File System Data Location File System Data Location File System Data Location File System
ROM Data Optical Disc ATFS System NAND memory WFS PC PCFS
(caferun)
PC ATFS
(cafediscrun)
Save Data(Common, Account) System NAND memory WFS System NAND memory WFS PC PCFS System NAND memory WFS
BOSS Data System NAND memory WFS System NAND memory WFS PC PCFS System NAND memory WFS
Add-on Content System NAND memory WFS System NAND memory WFS PC PCFS System NAND memory WFS
Other Data
(such as PC Exporting Image Files)
SD Card FAT SD Card FAT SD Card FAT SD Card FAT

Supported Feature Table

File system differences of each API feature mentioned in the reference are described below.

NOTE:
The table below describes characteristics of each file system but not constraints associated with data type (i.e., unable to write application data even when accessing via WFS).
WFS FAT ATFS PCFS
Initialization No special difference No special difference No special difference No special difference
Command Block No special difference No special difference No special difference No special difference
Mounting Volumes Mount automatically when the application starts up. Need to mount explicitly. Mount automatically when the application starts up. Mount automatically when the application starts up.
File Operations For save data, FSGetFreeSpaceSize returns remaining quota space.
  • FAT (FSFlushFile) is enabled. Write-only will not finalize writing.
  • FSGetFreeSpaceSize returns FS_STATUS_OK even if the path name is incorrect.
Cannot specify Write Open “w”. FSGetFreeSpaceSize returns remaining space in the storage on PC.
Path Space The max path length may become shorter due to the limit posed by PC.
Case sensitivity of Path Case-insensitive(*1) and case-preserving(*2) Case-insensitive and case-preserving Case-insensitive and case-preserving Depending on filesystem on host PC. (Normally, Case-insensitive and case-preserving)
Volume State No special difference No special difference No special difference No special difference
Journaling Only enabled for save data for which quotas are created and also write is available. FSFlushQuota and FSRollbackQuota are enabled.
  • FSFlushQuota returns a success without doing anything.
  • Because FSRollbackQuota is not supported, the state becomes FS_STATUS_UNSUPPORTED_CMD.
Error Viewer No special difference No special difference No special difference No special difference
Utilities No special difference No special difference No special difference No special difference
Debugging No special difference No special difference No special difference No special difference
Permission Can set up OwnerID and GroupID for all entries. Support only simple settings for all applications (making them read-only, etc.) Set OwnerID and GroupID per section. Support only simple settings for all applications (making them read-only, etc.)
Quota Quotas are created for save data and BOSS data.
Write Supported Supported Not supported Supported

*1: A filesystem equates uppercase and lowercase of specified path.
*2: A filesystem retains the case of a specified name at mastering, creating and renaming entries. FSAReadDir returns the name with specified case.

Precautions for PCFS

During application development, it is assumed that operations are to be verified using PCFS.
However, based on operating file system differences, exercise caution that there are some behavioral differences from when running by actually burning a disc or installing on NAND. Examples are shown below:

Revision History

2014/03/20 Added annotations about case sensitivity of path.
2013/05/09 Added items to "Precautions for PCFS".
2013/05/08 Automated cleanup pass.
2013/03/11 Added PCFS Performance comparisons
2012/11/20 Replaced "FAT32" to "FAT".
2012/08/25 Fixed the table of FS usage situation.
2012/08/17 Initial version.


CONFIDENTIAL