We've made some progress on the USB gadget driver for Linux, and we're now running a generic serial gadget for communication. This implementation is important because USB is now a lot less laggy and things like ethernet over USB, etc., can eventually be supported, easing access.
We've also got pretty far with porting the NAND driver to Linux. Most of the read support is now there, and we've isolated the routines in the iPhone kernel where the raw hardware write occurs. CPICH and c1de0x are working on reversing it. Hopefully, it will be analogous enough to reads that it won't take a huge amount of time to work out.
This is different from reversing their FTL, however, which is a complicated slew of data structures, merge buffers and other exotic algorithms that take care of evenly distributing writes throughout the device and also making writes take less time.
I think reversing all of that would take too much time and effort. Instead, my proposal is to just reverse the hardware NAND writes. Instead of using a partition, we would have a loop-mounted root filesystem (similar to how Wubi is setup), with the root filesystem being a file on the Media partition. Since there's a non-empty file at that location, the FTL system, whatever it is, must create a one-to-one mapping from logical sectors to physical NAND pages. We can already read the mapping it creates (we have already reversed the read-side FTL code), and so all we have to do to alter the data is to write to the same pages we would've read from. Of course, this means that wear-leveling and bad block handling is not performed. However, if we use a filesystem that's aware of bad blocks and can wear-level (YAFFS or JFFS2), then it amounts to the same thing. The wear-leveling would then take place over the particular physical pages belonging to the rootfs image, rather than the entirety of the NAND. This would make the physical pages belonging to the rootfs image wear out a little faster than the rest of the NAND, but the actual effect of this should be inconsequential.
The additional benefit of this setup is that there's no repartitioning required, so setup is cinch. See this wiki document for specific proposed implementation details.
Job Coke
Jobs In Karachi
Jobs In Lahore
Jobs In Pakistan
Jobs In Peshawer
Pakistani News Paper
Jobs In Dubai
Best Soccer Highlights
Best Soccer Highlights
House Full Jobs
Pierson Jobs
Thunder Jobs
Full Soccer Highlights
Football Fox
Live Cricket and Highlights
Job Coke
Kazmetix
Soccer Delight
Cricket Mesh
Soccer Gang
Catagories
- Adsense
- Apple
- Bank Policies
- Business Loans
- Currency Trading Basics
- Digital Products Reviews
- Download
- Forex News
- Global Banks
- Intel
- Internet Information
- Latest News
- Microsoft
- Mobile Internet Devices
- Oracle Support
- Pakistani Banks
- Processor
- Software
- Student Loans
- Video
- Web
- Web Browsers
- World Banks
- iPhone
- iPod
Tags
iPhone
iPod
Microsoft
Google
Apple
Intel
Adsense
Latest News
Processor
Computer
Mac
Software
Yahoo
Windows
Forex News
Web
World Banks
World Currency
Forex Trading
Currency Trading Basics
Intel Pentium
Mobile Internet Devices
Architecture
Bank Policies
Dual Core
Credit Cards
Forex Currency
Global Banks
Intel Atom
Intel Centrino
Chipset
Quad Core
Intel Celeron
Internet Information
Forex Signals
Single Core
WiMax
Forex Margins
Forex Market
Microarchitecture
Motherboard
Nokia
Pakistani Banks
Web Browsers
AMD Processors
Banking Loans
Download
Banking Techniques
Business Loans
Wireless Mouse
Digital Products Reviews
LCD
Video
Bluetooth
Opera
Student Loans
Banker
Digg
Laser Engine
London
Magic Mouse
Mouse
Oracle Support
Safari Web Browser
My Blog List
Followers
Posted by
iftikhar ahmed
May 20, 2010
Labels:
Adsense,
Apple,
Blogger News,
Computer Hardware,
DSL,
Footballkawa,
Google,
Intel,
Internet,
iPhone,
iPod,
iTune,
Microsoft,
Mobile,
Network Engineer,
USA iPhone,
Web,
Wireless
Subscribe to:
Post Comments (Atom)