📄 versions.txt
字号:
*************************************************************************
* *
* DiskOnChip(R) TrueFFS(R) driver for Windows CE - all versions *
* Source code version *
* *
* Version 6.2.0, released on December 30, 2003 *
* Copyright M-Systems (c) 2003 *
* *
* Version information *
* *
*************************************************************************
The list below documents and logs the changes in DiskOnChip TrueFFS driver
for Windows CE over time (starting from from version 5.1.0).
Version 6.2.0. - December 30 2003
=================================
Supports the following DiskOnChip Products:
- DiskOnChip G3
- DiskOnChip P3
- DiskOnChip 2000 G3
Note: TrueFFS 6.2 supports only SAFTL based devices. Devices supported by TrueFFS 5.x are not supported by this release
Versions for TrueFFS SDK
----------------------------
1. Bug fix from Version 6.1.0:
1) Media will become not mountable if the quick mount area of a disk partition is located on a floor boundary.
Very Rare
2) Reported IPL size of DiskOnChip G3 and P3 devices with more then 2 floors
(DiskOnChip G3 1Gb or cascaded DiskOnChip G3 products) reported more then 4KB IPL size,
while 4KB is the maximum size (Reported by flGetExtendedDiskInfo() routine).
3) Update of a binary partition with a size that is not a multiplication of a page size,
will not write the last partial page to the flash.
4) DiskOnChip G3/P3 MTD
- In case of a BCH error while reading in RAW mode (DPS,UNIQUE ID) MTD might cause an exception.
- Add recovery operation after a timeout or sequence errors caused by faulty H/W.
- Read with SW_EDC mode did not work for more then a single sector.
- When reading 2 sectors in a single MTD call and the second page returns an flDataError or flSequenceError,
the operation do not retry to read the page.
5) "leave binary partition" flag didn't work properly in flFormatPhysicalDrive() and flFormatVolume()
6) Entering DPD mode of a cascaded devices or DiskOnChip G3 1Gb,
did not place the second floor in DPD mode
2. Customization changes.
1) Changed MTDS to FL_MTDS
2) Changed TLS to FL_TLS
3) Enable easy customization of debug print macros with parameters by introducing the FLTXT macro
that converts strings to Unicode.
Version 6.1.0. - July 1 2003
============================
1. Versions for Driver layer
-----------------------------
1.1 The same TrueFFS driver should be used for all versions of Windows CE.
TALISKER compilation flag is needed only when compiling with Windows CE
3.0 and its derivatives.
1.2 Build tree structure is changed to enable driver size customization when
working with binary file.
2. Versions for TrueFFS SDK
----------------------------
2.1. TrueFFS version 6.1.0 supports only SAFTL-formatted devices:
- DiskOnChip G3 / Mobile DiskOnChip G3
- DiskOnChip P3
- DiskOnChip 2000 G3
and does not support devices supported by TrueFFS 5.x.
2.2. Introducing a new translation layer:
- SAFTL - Sequantial Access Flash Translation Layer
2.3. TrueFFS 6.1.0 includes two new MTDs:
- DiskOnChip 2000 G3 - oren_mtd
- DiskOnChip G3 and DiskOnChip P3 - m512_mtd
2.4. Introducing a new MTD interface.
2.5. New protection modes:
- Sticky Lock support
- OTW protected partition type (only for DiskOnChip G3 and P3).
2.6. New type of binary partition:
- Special binary partition for SPL.
2.7. Automatically check for both 8- and 16-bit data bus configuration if
not overruled by a specific call.
2.8. API
2.8.1. Changes in existing API:
- flFormatPhysicalDrive() - renamed 'signOffset' field to 'flags'
in the BinaryPartitionFormatParams structure.
The field is used to differentiate between:
- TL_NORMAL_FORMAT - for the standard binary partition
- TL_SPL_FORMAT - for SPL-type binary parttion.
- The default number of spare units required for full protection
against power failure in SAFTL has increased from 2 to 3.
The STD_FORMAT_PARAMS2 and STD_FORMAT_PARAMS
default format parameters were changed accordingly.
- Changed the 'physicalUnitSize' field in the VolumeInfoRecord
structure from unsigned short to FLDword (i,e from 16-bit variable
to a 32-bit variable).
The structure is used by both the FL_IOCTL_GET_INFO extended function
and by the flVolumeInfo routine.
- Changed most of the variable types in the API to TrueFFS standard
types:
FLByte, FLSByte
FLWord, FLSWord
FLDword, FLSDword
- Binary partition API was simplified
- Units are always erased before they are written.
- The EDC/ECC mechanizm is always on.
- You can cross unit boundaries during both read and write
operations.
- You can write and read less then a full page while still
enjoying the benefit of full EDC\ECC protection, provided you
make sure FL_NO_BDK_PARTIAL_PAGE_ACCESS is not defined in
flcustom.h.
- Sub-partition block serial numbers were shortened to 3 digits
instead of 4.
- New sub-partitions will now be created in the end of the
given sub-partition.
- flReadBBT routine now reports the unusable blocks (DPS and OTP
of each floor) as bad blocks.
2.8.2. New flags for existing APIs:
- flInquireCapabilities() added:
- SUPPORT_OTW_PROTECTED - OTW protection support.
- SUPPORT_STICKY_LOCK - Sticky lock protection support.
- flIdentifyProtection() / bdkIdentifyProtection() added:
- OTW_PROTECTED - The partition is now OTW protected.
- STICKY_LOCK_ASSERTED - The Sticky lock bit was asserted.
- flChangeProtectionType()/ bdkChangeProtectionType() added:
- OTW_PROTECTED - Permenantly write protect the
partition.
- VolumeInfoRecord record, used by the flVolumeInfo routine, was updated
with new DiskOnChip types:
- FL_DOC_OREN - DiskOnChip 2000 G3
- FL_MDOC512_G3 - DiskOnChip G3
- FL_MDOC256_P3 - DiskOnChip P3
- In the field 'percentUse' of the format routines, you can now use
the constant TL_DEFAULT_PERCENTAGE to automatically set the Bad Blocks
percentage recomended by the flash vendor.
2.8.3. New TrueFFS APIs:
- flClearQuickMountInfo() - Invalidate the current Quick Mount
information.
- flWriteQuickMountInfo() - Flush the current RAM buffers to the Quick
Mount flash area.
- flGetQuickMountStatus() - Report the status of the current Quick
Mount information.
- flGetExtendedDiskInfo() - New internal routine for reporting various
low-level information.
- flCompleteOperation() - Check the last delayed write operation.
- flApplyStickyLock() - Activate the Sticky Lock protection.
2.8.4. The folowing APIs were removed:
- flPhysicalRead()
- flPhysicalWrite()
- flPhysicalErase()
- flPlaceExbByBuffer() - This API will be supprted in the next TrueFFS
6.x release
2.9. Customization changes
2.9.1 flsystem.c/.h
- Improved debug print mechanism: 2 sets, 3 levels in each set
- Full differentiation between RAM memory and DiskOnChip memory
accesses, including 2 sets of macros for 8 and 16 bits DiskOnChip
operands.
FLWRITE_IO_BYTE FLWRITE_IO_WORD FLWRITE_IO_DWORD
FLREAD_IO_BYTE FLREAD_IO_WORD FLREAD_IO_DWORD
TFFSCPY_FROM_IO_8_BITS TFFSCPY_FROM_IO_16_BITS
TFFSCPY_TO_IO_8_BITS TFFSCPY_TO_IO_16_BITS
TFFSSET_IO_8_BITS TFFSSET_IO_16_BITS
These macros can be customized from flsystem.h without changing the
original TrueFFS code.
- You can customize the FL_SYS_FUNC_RELEASE macro in order to release
specific system resources. TrueFFS will call it just before exiting.
- Two new macros were added: FL_RaisePriorityThread and
FL_LowerPriorityThread. Those macros are called before polling the
ready busy signal, allowing you to lower the priority of the driver.
- The flsleep routine was improved and now uses the flash average time
for read, write and erase.
- Added the compilation flag FL_ASSUME_NATIVE_IS_32BITS for faster ECC
algorithm. This compilation flag can be used only if your integer
variables are at least 32 bits long.
- Added teh compilation flag FL_DISABLE_OLD_TRUEFFS_TYPES.
2.9.2 flcustom.c/.h - new definitions:
- Moved MTD_STANDALONE to flcustom.h
- Added BDK_REMOVE_ERASE_BDK_IMAGE in order to remove the binary
partition erase routine.
- Added BDK_REMOVE_CREATE_BDK_IMAGE in order to remove the binary
partition create routine.
- Added FL_EXTENDED_DISK_INFO in order to add the flExtendedDiskInfo
routine.
- removed the VERIFY_ERASED_SECTOR compilation flag.
- removed the FL_LOW_LEVEL compilation flag.
- Changed TL_CACHE to FL_TL_CACHE. Note that TrueFFS 6.1 always uses a
cache. This flag only sets the default size.
- Changed MAX_VOLUME_MBYTES to FL_ASSUMED_MAX_VOLUME_MBYTES.
- Changed ASSUMED_NFTL_UNIT_SIZE to FL_ASSUMED_MIN_UNIT_SIZE.
- Added FL_ASSUMED_MAX_SECTORS_PER_UNIT to set the maximum unit size
(used for static allocation).
- Added FL_NUMBER_OF_CACHED_UNITS to set the number of cached units
used by the TL (used for static allocation).
- Added FL_SKIP_ARGS_CHECK compilation flag , allowing you to skip the
TrueFFS argument checks.
- Added FL_NO_BDK_PARTIAL_PAGE_ACCESS in order to remove the additional
RAM buffer used for updating partial pages in the binary partition.
- Added FL_ADD_ADDRESS_0_SUPPORT in order to remove the TrueFFS default
search range, and in practice to allow placing the DiskOnChip in
address 0.
- Added new registration routines:
- flRegisterSAFTL()
- flRegisterDOCOREN()
- flRegisterDOCM512()
- flRegisterDOCORENSOC (FROM_ADDR, TO_ADDR)
- flRegisterDOCM512SOC (FROM_ADDR, TO_ADDR)
2.9.3 Run-time customization - new environment variables:
- Added FL_MAX_CACHE_SIZE
- Added FL_DO_NOT_WAIT_FOR_READY
- Added FL_SUSPEND_MODE
- Removed FL_IS_RAM_CHECK_ENABLED
Version 5.1.4.1 - Jan 8 2003
============================
1. Bug fix in auto format IOCTL.
2. Bug fix - RemoveKey() did not work when in DPD mode.
3. Bug fix - Operations on devices with floors did not work
when in DPD mode.
Version 5.1.4. - Nov 20 2002
=============================
1. Bug fix in readBBT routine for Plus devices - The first 4 blocks might
be read incorrectly in case the starting block address is divisible by 4.
2. Bug fix in readBBT routine for Plus devices - In case less then 8 blocks
are read starting from a block after the 8th block from the end.
3. Bug fix in Plus devices MTD prevented re-entrance. The bug occurred only
when using more then 1 none cascaded DiskOnChip Plus sockets.
4. Bug fix in the writeIPL routine for Plus devices - When having more then
1 floor. The routine might read outside the user buffer and will write to
all of the media floors regardless of the given size.
5. Compilation error for Plus devices MTD - Missing #ifdef statement in
changeInterleave() prevents compilation when FL_NO_USE_FUNC is defined.
6. Bug fix in readIPL routine for ALON devices - Second 512 bytes were read
from the location of the redundant copy of the first 512 bytes.
Version 5.1.3. - Sep 2 2002
===========================
1. No need to use the external XScale dll.
2. Added Auto deep power down mode.
3. Enable working without the kernel gwes module
Version 5.1.2. - Aug 1 2002
===========================
1. Added support for Samsung 128MB Flash.
2. Fixed a bug where CHS multiplication was smaller than media size.
Version 5.1.1. - June 17 2002
=============================
1. Added support for 16-bit DiskOnChip devices in XScale based platforms.
2. Fixed support for FL_IOCTL_WRITE_IPL.
3. Removed the new structure flCEBDKOperation. Instead use flBDKOperation as in
previous driver versions.
4. Fixed FAT Filter implementation. Added option to remove FAT filter in binary
driver.
Version 5.1.0. - May 15 2002
============================
1. Support for Mobile DiskOnChip devices (BGA / 1.8V / 16-64MBytes)
2. Support for DiskOnChip Millennium Plus 16MBytes (128Mbits)
3. Introducing new optimized verify write algorithm featuring power failure
resistance with optimal performance. Both NFTL and INFTL are supported.
4. New memory access mechanism, supporting 8-bit and 16-bit DiskOnChip devices
on platforms with either 8-bits, 16-bits or 32-bits bus width. The new
mechanism supports all DiskOnChip models.
5. Memory access routines can now be customized or even completely replaced in
run time.
6. The Quick-Mount feature in INFTL devices is now always active for improved
mount time.
7. Support DiskOnChip devices with up to 1Gbytes capacity.
8. Improved environment variables mechanism.
9. Updated source code examples.
For comments, questions and bug reports, please contact your M-Systems
representative or e-mail us to techsupport@m-sys.com
M-Systems full contact list can be found on our web site (www.m-sys.com)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -