Xbox 2 Hard Drive Functionality Revealed.
Posted by Curll on April 05 '05 at 07:45 PM
With the forthcoming Xbox 2 release this fall and unveiling at E3 (Well, we think. We thought CES and GDC, too.) we've heard about Xbox 2's add-on HDD. Well, we've heard from a source within MS about X2's hard drive functionality.
In essence, it's a huge memory card. Bring your game saves, DLC, characters, MP3s, and saved replays to your friend's house. Load in your HDD and show your friend your kick ass character, or a PHAT RIDE, YO! Show him the course you made in PGR3, or the gametype you created in PDZ. Transfer saves, items, levels, and more with them (via memory card or Live? This info wasn't clarified). It won't be the supposed iPod killer. More like a portable Xbox Identity. Plug it into any Xbox and it'll know your Live account, stats, preferences, saves, and all of that good stuff. Think of it similar to Pokémon. Lugging around your GBC(olor) with Pokémon Red. Someone has Pokémon Blue, you trade some Pokémon and say good day. You can do this with saves, items, or whatever the developer wants. This should also be a Live feature, the way it was stated to us (Or perhaps just a Xbox Live marketplace feature, with the hard drive enabling it).
It won't be a normal IDE hard drive. One, because if you drop it and dislodge the head (insert penis [hehe] joke here), you wasted the extra cash and your info is gone. Two, because of hackers. It's going to be durable, portable, and sleek. He suggested it'd be "pretty fashionable" if you choose to alter it's exterior looks with stickers or whatever.
It will be pre-loaded with some things, to entice buyers. Obviously, what's pre-loaded was not even hinted at.
E3 starts May 17th. Look for more information (and probably leaks) in the upcoming month leading up to this year's Conference and Expo.
http://www.xblgamers.com/story.php?storyid=121
I did a patent search on M-Systems and found this
Novel flash memory arrangement
Abstract
A device, a method and a system for direct execution of code from a flash memory arrangement, in which a separate memory component is not required, even if a flash memory component is used which has a restriction on the size of a data block which can be read at one time. Furthermore, the flash memory arrangement is optionally implemented as a "single die" chip or device, which is more efficient for manufacturing and which also results in lower costs.
SUMMARY OF THE INVENTION
[0006] The background art does not teach or suggest a flash memory arrangement which enables flash memory devices to be used for direct execution of code even if there is a restriction on the size of blocks of data which can be read. In addition, the background art does not teach or suggest a flash memory arrangement which does not require an additional memory component in order to accomplish this goal.
[0007] The present invention overcomes these deficiencies of the background art, by providing a device, a method and a system for direct execution of code from a flash memory arrangement, in which a separate memory component is not required, even if a flash memory component is used which has a restriction on the size of a data block which can be read at one time. Furthermore, the flash memory arrangement is optionally implemented as a "single die" chip or device, which is more efficient for manufacturing and which also results in lower costs.
[0008] According to a preferred implementation of the present invention, the flash memory arrangement features a flash memory component in direct communication with a volatile memory component, such as S-RAM or D-RAM for example. These two components are preferably arranged within a flash-based unit, and therefore communicate with a logic processor such as a CPU through the port of the flash-based unit. Thus, an additional memory component, outside the flash-based unit, is not required.
[0009] According to the present invention, there is provided a flash-based unit for providing code to be executed by an external processor, comprising: (a) a flash memory for storing the code to be executed, the flash memory being of a type such that the external processor cannot read the code to be executed directly from the flash memory; and (b) a volatile memory component for receiving at least a portion of the code to be executed, such that at least the portion of the code is executed by the external processor from the volatile memory component.
[0010] According to another embodiment of the present invention, there is provided a system for executing code from a restricted non-volatile memory, the restricted non-volatile memory being characterized in that code cannot be directly executed from the restricted non-volatile memory, the system comprising: (a) a CPU for executing the code; (b) a volatile memory component in direct communication with the restricted non-volatile memory for holding at least a portion of the code to be executed, the at least a portion of the code being transferred from the restricted non-volatile memory, such that the CPU executes the at least a portion of the code from the volatile memory component.
[0011] According to yet another embodiment of the present invention, there is provided a system for executing code, comprising: (a) a flash-based unit for storing the code to be executed, the flash-based unit comprising a flash memory of a restricted type, being characterized in that code cannot be directly executed from the flash memory and a volatile memory component for receiving a portion of the code to be executed; and (b) a processor for executing the code, the processor receiving at least the portion of the code from the volatile memory component; wherein an additional memory component is not required for executing the code by the processor.
[0012] According to still another embodiment of the present invention, there is provided a method for booting a device, the device featuring a processor for executing code, the method comprising: providing a flash-based unit in the device for storing the code to be executed, the flash-based unit comprising a flash memory of a restricted type, being characterized in that code cannot be directly executed from the flash memory and a volatile memory component for receiving a portion of the code to be executed; sending a busy signal to the processor; transferring the portion of the code to the volatile memory component; removing the busy signal; and executing the portion of the code by the processor to boot the device.
[0013] According to another embodiment of the present invention, there is provided a flash-based unit for providing code to be executed by an external processor, consisting essentially of: (a) a flash memory for storing the code to be executed, the flash memory being of a type such that the external processor cannot read the code to be executed directly from the flash memory; and (b) a volatile memory component for receiving at least a portion of the code to be executed, such that at least the portion of the code is executed by the external processor from the volatile memory component.
[0014] Hereinafter, the terms "computer" or "computational device" refer to a combination of a particular computer hardware system and a particular software operating system. Examples of such hardware systems include those with any type of suitable data processor, as well as any type of device which has a data processor of some type with an associated memory. The term "portable device" refers to any type of computer or computational device which is portable, including but not limited to, a PamPilot.TM., a PilotPC.TM., a PDA (personal data assistant) or any type of personal data player, a cellular telephone, or any other handheld device.
[0015] For the present invention, a software application could be written in substantially any suitable programming language, which could easily be selected by one of ordinary skill in the art. The programming language chosen should be compatible with the computer by which the software application is executed, and in particularly with the operating system of that computer. Examples of suitable programming languages include, but are not limited to, C, C++ and Java. Furthermore, the functions of the present invention, when described as a series of steps for a method, could be implemented as a series of software instructions for being operated by a data processor, such that the present invention could be implemented as software, firmware or hardware, or a combination thereof.