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
Tags
IPhone
Microsoft
iPod
Google
Intel
Latest News
WiFi
Mobile
Computer
Internet
Processor
Twitter
Web
Windows
Laptop
Wireless
Mobile Internet Devices
Intel Pentium
Architecture
Dual Core
Intel Atom
Technology
Chipset
Intel Centrino
Smart Phone
Quad Core
Intel Celeron
Phones
WiMax
Single Core
Microarchitecture
Digital Products Reviews
Motherboard
AMD Processors
LCD
Video
Oracle Support
Picasa Web
Web Browsers
LG
My Blog List
Followers
Posted by
Israr ahmed
Thursday, 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)