US8201258B2 - Secure personalization of memory-based electronic devices - Google Patents
Secure personalization of memory-based electronic devices Download PDFInfo
- Publication number
- US8201258B2 US8201258B2 US11/874,036 US87403607A US8201258B2 US 8201258 B2 US8201258 B2 US 8201258B2 US 87403607 A US87403607 A US 87403607A US 8201258 B2 US8201258 B2 US 8201258B2
- Authority
- US
- United States
- Prior art keywords
- memory
- content
- data
- memory devices
- subset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
Definitions
- the subject specification relates generally to memory systems and in particular to systems and/or methodologies that can facilitate programming and storing information in memory devices.
- Integrated circuits can be fabricated on wafers.
- a wafer can be a thin slice of semiconductor material (e.g., silicon and germanium) on which ICs can be created using diffusion or ion implantation methods, for example.
- a wafer can range from one inch to twelve inches in diameter and can contain hundreds of individual ICs.
- wafer testing can be performed. Generally, the ICs are tested for defects while they are still on the wafer, for example, prior to being cut into individual dies. During this step, all individual integrated circuits that are present on the wafer can be tested for functional defects by applying specified test patterns to them.
- the wafer testing can be performed by a piece of test equipment called a wafer prober, for example.
- a wafer prober can generate test patterns and send the patterns to the individual ICs to stimulate the design.
- Each of the ICs in turn can generate a corresponding output based on the input.
- the generated output can then be compared to an expected result. If the generated output of a particular IC does not match the expected result, then it can be determined that an error has occurred and the IC that generated the error can be noted as potentially defective on a wafermap.
- Some of these defects can be repaired because ICs often can be designed with internal spare resources (e.g., extra address lines in flash memory).
- a wafer can be comprised of a plurality of ICs that each can include memory components (e.g., flash memory). The ICs, including the respective memory components thereon, can be tested prior to the wafer being cut into individual IC chips.
- the memory components are installed into respective packages (e.g., electronic device such as cellular phone, smart card, personal digital assistant (PDA), etc.), content, such as applications, personalized data, etc. can be programmed into the respective memory components prior to providing the packages to the end user.
- packages e.g., electronic device such as cellular phone, smart card, personal digital assistant (PDA), etc.
- content such as applications, personalized data, etc.
- Programming each memory device in such conventional manner can be time consuming as each memory component must be connected to a source that can program the content to the memory component.
- the disclosed subject matter relates to systems and/or methods that can facilitate programming personalized data into memory devices that can be comprised of integrated circuits (IC) while the memory devices are contained on the wafer.
- a wafer program component can be employed to facilitate programming content (e.g., applications, secure personalized information, etc.) to a plurality of memory devices that can be included within respective memory modules, and which can be comprised of ICs, while the memory modules are contained on a wafer.
- the wafer can then be cut or diced such that each of the memory devices can be a physically distinct structure, and the memory devices can be installed into a respective electronic device (e.g., cellular phone, personal digital assistant (PDA), smart card, etc.) that can be utilized by an end user.
- the wafer program component can be associated with and/or connected to the wafer and can employ parallel processes that can facilitate programming desired content to the plurality of memory devices on the wafer such that the memory devices can be programmed at the same time, or at substantially the same time.
- individual or customized subsets of content can be programmed to each respective memory device during the manufacturing process while the memory devices are contained on an uncut wafer.
- the wafer program component can be employed to facilitate programming identical content into the memory devices.
- a subset of the content can be programmed and stored on the memory devices in a secure manner such that a user of the electronic device in which a memory device is utilized can only access the subset of content by subscribing to the service or application associated with the subset of content.
- authentication information e.g., personal identification number, passcode, key to decrypt the information, etc.
- the user can utilize the authentication information to access the content associated with the subscription(s).
- the wafer program component can retrieve a subset of content from an information database based on a type of end-user electronic device and/or user characteristics.
- the wafer program component can access information from the information database, can analyze the information, and can sort the information based on a set of criteria. For example, the wafer program component can determine the type of electronic device in which the memory devices are to be utilized and/or the type of content desired by a particular user.
- the wafer program component can read data from an information database and can determine what type of data (e.g., personal information, MP3's, and other types of media) is to be programmed to and/or stored in the plurality of memory devices (e.g., within respective memory modules) located on the wafer based on the type of electronic device (e.g., cellular phone, PDA, smart card, etc.) in which the memory device will be installed and/or the content desired by the end user.
- type of data e.g., personal information, MP3's, and other types of media
- the plurality of memory devices e.g., within respective memory modules located on the wafer based on the type of electronic device (e.g., cellular phone, PDA, smart card, etc.) in which the memory device will be installed and/or the content desired by the end user.
- type of electronic device e.g., cellular phone, PDA, smart card, etc.
- FIG. 1 illustrates a block diagram of a system that programs data to memory devices on a wafer in accordance with an aspect of the subject matter disclosed herein.
- FIG. 2 depicts a block diagram of a wafer program component in accordance with an aspect of the subject matter disclosed herein.
- FIG. 3 depicts a block diagram of an example of a system that can store data in accordance with an embodiment of the disclosed subject matter.
- FIG. 4 illustrates a block diagram of a system that can store data in accordance with another embodiment of the subject matter disclosed herein.
- FIG. 5 depicts a block diagram of a system for allocation of memory within a memory device in accordance with an aspect of the subject matter disclosed herein.
- FIG. 6 depicts an example diagram of a system that can facilitate data storage in accordance with an aspect of the disclosed subject matter.
- FIG. 7 illustrates a block diagram of a system that employs intelligence to facilitate a program of content to memory devices in accordance with an embodiment of the disclosed subject matter.
- FIG. 8 depicts a methodology that facilitates programming content to memory devices in accordance with an aspect of the disclosed subject matter.
- FIG. 9 illustrates another methodology that facilitates programming content to memory devices in accordance with an aspect of the disclosed subject matter.
- FIG. 10 depicts a methodology that facilitates programming a subset of content to memory devices in accordance with an aspect of the disclosed subject matter.
- FIG. 11 illustrates a methodology that facilitates programming data associated with subscriptions to memory devices in accordance with an aspect of the subject matter disclosed herein.
- FIG. 12 illustrates a methodology that facilitates programming compressed data to memory devices in accordance with an aspect of the subject matter disclosed herein.
- FIG. 13 is a schematic block diagram illustrating a suitable operating environment.
- FIG. 14 is a block diagram of an exemplary electronic device that can utilize a memory device(s).
- memory devices and other types of semiconductor devices on a wafer can be tested to ensure the memory devices and other individual semiconductor devices are working properly.
- the individual semiconductor devices e.g., such as the memory devices
- the individual semiconductor devices can be interconnected by a common bus that also can be available for external connections to the semiconductor wafer, which can allow test equipment to electronically connect to the individual semiconductor devices.
- test patterns generated for testing the individual components are not in the form of a program or end-user information, and it is typically not necessary for any portion of the test patterns to reside with the semiconductor devices (e.g., the memory devices) after fabrication.
- semiconductor devices e.g., the memory devices
- memory devices on a wafer are cut or diced into individual dies that can be installed into various types of electronic devices, and such memory devices are then programmed with content (e.g., operating system, applications, other data).
- a wafer program component can be connected to a wafer that contains a plurality of memory modules that can each include a memory device.
- the wafer component can program data to the memory devices in parallel to efficiently program all the memory devices on the wafer at the same time, or substantially the same time.
- the data programmed and stored in the memory devices can include, for example, operating system code supplied by manufactures to facilitate proper functioning of end-user electronic devices, applications, and/or user-related code such as, for example, audio and/or video files, bank account information, and/or other personalized information.
- the type(s) of data (e.g., content) to be stored in respective memory devices can be determined based on predefined program criteria, such as, the type of device being programmed, the size of memory available, user characteristics, specialized end-user information, or any combination thereof, for example.
- certain restricted content can be programmed to the memory devices such that a user cannot access the restricted content without providing authentication information (e.g., password) associated with the particular restricted content.
- the restricted content can be made available to the user on a subscription basis, where the user can subscribe to gain access to such restricted content and can be provided authentication information.
- the user can provide (e.g., input) the authentication information to the electronic device to gain access to the restricted content stored in the memory of the electronic device.
- System 100 can facilitate programming data into a plurality of memory devices (e.g., in respective memory modules) in accordance with the disclosed subject matter.
- System 100 can include a wafer program component 102 that can facilitate programming the memory devices (not shown).
- the memory devices can be located on a wafer component 104 .
- wafer component 104 can be comprised of a plurality of memory modules, such as n memory modules, memory module 0 106 , memory module 1 108 , up through memory module n 110 (hereinafter referred to collectively as “memory modules 106 , 108 , 110 ”).
- Each of the memory modules 106 , 108 , and 110 can include a memory device (e.g., non-volatile memory, such as flash memory).
- the wafer program component 102 can program data (e.g., content) to each of the memory devices in the respective memory modules (e.g., 106 , 108 , 110 ) based on predefined program criteria, such as, for example, the type of electronic device in which the memory module(s) are to be utilized, characteristics of the end user who will use the electronic device, etc.
- the wafer program component 102 can be comprised of one or more computers (not shown) comprised of hardware, software (e.g., in execution), and/or firmware, such as, for example, the computer system described in system 1300 .
- the computer(s) can facilitate determining the type of content to be programmed to plurality of memory devices contained on the wafer component 104 and/or the programming of such content to the memory devices.
- the wafer program component 102 can facilitate determining the type of content that can be selected (e.g., via a computer, for example) to be programmed and stored into each of the plurality of memory devices in respective memory modules (e.g., 106 , 108 , 110 ) based on the type of electronic device in which the memory modules 106 , 108 , 110 utilized and/or the end user of the electronic device.
- the wafer program component 102 can associate or can receive information that can associate a subset of content (e.g., operating system(s), application(s), audio files, video files, etc.) with an end user and/or type of electronic device (e.g., cell phone, PDA) in which the data content can be stored.
- the wafer program component 102 can select and/or retrieve a subset of content from a content database, where the subset of content can be content that is associated with and/or corresponds with the type of electronic device and/or the end user (e.g., user characteristics), and can program the subset of content to each of the plurality of memory devices within respective memory modules 106 through 110 contained on the wafer component 104 .
- the wafer program component 102 can determine a subset of content that can be programmed into one or more of the memory devices in respective memory modules 106 through 110 based on the type of electronic device that is to contain the memory device and/or the end user of the electronic device.
- the wafer program component 102 can create a specified or predetermined “memory stamp(s)” that can be associated with the memory devices in the memory modules 106 through 110 located on the wafer component 104 and/or an electronic device(s) in which such memory devices can be installed.
- the memory stamp can include and/or can be associated with a particular subset of content, where such subset of content can be based on the type of electronic device and/or end user associated therewith.
- the wafer program component 102 can facilitate the use of memory saving techniques to store each memory stamp into a storage device (e.g., memory, magnetic tape, hard disc, etc.). During programming, the wafer program component 102 can retrieve the desired memory stamp, including the associated subset of content. Employing parallel processes, the wafer program component 102 can simultaneously, or substantially simultaneously, program the subset of content associated with the memory stamp to the plurality of memory devices within respective memory modules 106 through 110 on the wafer component 104 .
- the wafer program component 102 can determine disparate subsets of content that can be programmed, respectively, into one or more of the memory devices within respective memory modules 106 through 110 based on the type of electronic device that is to contain the respective memory device and/or the end user of the electronic device.
- the respective subsets of content can be based on specific user information (e.g., personalized information) such as for example, identification information, bank account information, credit card information, home address information, desired audio or video files, etc.
- Each of the disparate subsets of content can be programmed into respective memory devices in memory modules 106 through 110 contained on the wafer component 104 in parallel to facilitate efficient programming of the memory devices.
- Each of the respective memory modules 106 through 110 can be cut into individual dies after programming and can be installed in the corresponding electronic device associated with a respective end user.
- the wafer program component 102 can program the disparate subsets of content to respective memory devices in parallel to facilitate efficient programming of the memory devices.
- the wafer program component 102 can program portions of the disparate subsets of content in parallel to facilitate efficient programming of the memory devices. For example, if a certain number of memory devices on the wafer component 104 are to have the same operating system and the same applications, but different audio files, the wafer program component 102 can program the operating system and applications into each of those memory devices in parallel so that such content is programmed to the memory devices at the same time, or substantially the same time.
- the disparate sets of audio files can be programmed to respective memory devices, where such audio files can be programmed to the memory devices in parallel or can be programmed to the memory devices individually.
- the wafer program component 102 can program a subset of content that can have restricted access.
- the restricted subset of content can include personal information (e.g., bank account information, credit card information, identification information, etc.) and/or subscription-based content (e.g., music files, video files, applications, etc.), where the user of the electronic device can only gain access to the restricted subset(s) of content by presenting (e.g., inputting) valid authentication data associated with the respective subset of content to the memory device within the electronic device.
- the authentication data can be in the form of a password (e.g., a sequence of humanly cognizable characters), a pass phrase (e.g., a sequence of alphanumeric characters that can be similar to a typical password but is conventionally of greater length and contains non-humanly cognizable characters in addition to humanly cognizable characters), a pass code (e.g., Personal Identification Number (PIN)), and the like, for example.
- a password e.g., a sequence of humanly cognizable characters
- a pass phrase e.g., a sequence of alphanumeric characters that can be similar to a typical password but is conventionally of greater length and contains non-humanly cognizable characters in addition to humanly cognizable characters
- a pass code e.g., Personal Identification Number (PIN)
- a block diagram of a system 200 that can be comprised of a wafer program component 102 which can facilitate programming of data to the plurality of memory module 0 106 through memory module n 110 (not shown).
- the wafer program component 102 can be comprised of a program component 202 to facilitate obtaining, storing, and/or organizing of data (e.g., content) to be stored memory devices in the memory modules 106 through 110 .
- the program component can include basic computer resources such as suitable operating systems.
- the program component can be comprised of, in part or whole, computer instructions written in program languages such as, for example, C, C++, Java, microcode, or any combination thereof.
- the program component 202 can facilitate interactions between users and a controller 204 , a storage component 206 , and/or an interface 208 (hereinafter referred to as “I/F 208 ”).
- the controller 204 can be comprised of one or more computers (not shown) comprised of hardware, software (e.g., in execution), and/or firmware, such as the computer system described in system 1300 .
- the controller component 204 can execute instructions from the program component 202 to facilitate the retrieval of data based on, for example, the type of device the data is stored, e.g., the controller component 204 can facilitate, in coordination with the program component 202 , the execution of determining the subset of data that can be placed into one or more of the memory devices located on the wafer (e.g., 104 ) (not shown).
- the program component 202 can facilitate the determination of the subset of data that can be stored in each of the memory devices within the respective memory modules 106 , 108 , 110 .
- the program component 202 can store the subset of data into the storage component 206 .
- the storage component 206 can be comprised of any hardware or electronic device used to store information (e.g., memory, magnetic tape, hard disc etc.).
- the I/F 208 can be comprised of hardware and/or software that can facilitate an electrical connection and communication between the wafer program component 102 and the wafer, and the memory modules 106 , 108 , 110 that reside thereon. It is to be appreciated that I/F 208 can include and/or provide various adapters, connectors, channels, communication paths, etc. to integrate the wafer program component 102 into virtually any operating and/or database system(s) and/or with another system(s). In addition, I/F 208 can provide various adapters, connectors, channels, communication paths, etc., that can provide for interaction and/or communication with other components, data, and the like, associated with the system 200 .
- system 300 can be employed in a memory device, such as a flash memory device (e.g., single-bit flash memory, multi-bit flash memory), that can be included in a memory module (e.g., 106 , 108 , 110 ) on a wafer (e.g., 104 ).
- the system 300 can be created on a semiconductor substrate 302 in which one or more core regions 304 , which can be higher-density core regions, and one or more peripheral regions, which can be lower-density regions, can be formed.
- the high-density core regions can include one or more M by N arrays of individually addressable, substantially identical multi-bit memory cells (not shown).
- the lower-density peripheral regions can typically include an interface component 306 (hereinafter also referred to as “I/F 306 ”) and programming circuitry for selectively addressing the individual memory cells.
- the programming circuitry can be represented in part by and can include one or more x-decoders 308 and one or more y-decoders 310 that can cooperate with the I/F 306 for selectively connecting a source, gate, and/or drain of selected addressed memory cells to predetermined voltages or impedances to effect designated operations (e.g., programming, reading, erasing) on the respective memory cells, and deriving necessary voltages to effect such operations.
- designated operations e.g., programming, reading, erasing
- the core(s) 304 can be a non-volatile memory array, e.g., memory that can retain the stored information even when not powered.
- the nonvolatile memory can include, but is not limited to, read-only memory (ROM), flash memory (e.g., single-bit flash memory, multi-bit flash memory), mask-programmed ROM, programmable ROM (PROM), Erasable PROM (EPROM), UV-erase EPROM, one-time programmable ROM, electrically erasable PROM (EEPROM), and/or nonvolatile random access memory (NVRAM) (e.g., Ferroelectric random access memory (FeRAM)), for example.
- ROM read-only memory
- flash memory e.g., single-bit flash memory, multi-bit flash memory
- PROM programmable ROM
- EPROM Erasable PROM
- UV-erase EPROM one-time programmable ROM
- EEPROM electrically erasable PROM
- NVRAM non
- the I/F 306 can include and/or provide various adapters, connectors, channels, communication paths, etc. to integrate the system 300 into virtually any operating and/or database system(s) and/or with another system(s).
- I/F 306 can provide various adapters, connectors, channels, communication paths, etc., that can provide for interaction and/or communication with other components, data, and the like, associated with the system 300 .
- system 400 can include a memory module 402 that can include a memory 404 that can receive data, can store data, and can provide data as an output.
- the memory module 402 can be the same as or similar to, and can include such functionality, as more fully described herein, for example, with regard to system 100 and/or system 300 .
- Memory 404 can include one or more memory locations (e.g., memory cells) (not shown) in which data can be programmed and from which data can be read.
- the memory 404 (e.g., memory device) can be the same as or similar to, and can include such functionality, as more fully described herein, for example, with regard to the memory devices of system 100 and/or the memory of system 300 .
- the memory 404 can be comprised of ROM, flash memory (e.g., single-bit flash memory, multi-bit flash memory), mask-programmed ROM, PROM, EPROM, UV-erase EPROM, one-time programmable ROM, EEPROM, and/or NVRAM, for example.
- system 400 can include a host processor 406 that can be associated with the memory 402 .
- the host processor 406 can be a typical applications processor that can manage communications and run applications.
- the host processor 406 can be a processor that can be utilized by a computer, a mobile handset, PDA, or other electronic device.
- the host processor 406 can generate commands, including read, write, and/or erase commands, in order to facilitate reading data from, writing data to, and/or erasing data from the memory 404 , where the communication of information between the host processor 406 and the memory 404 can be facilitated via a bus component 408 .
- the host processor 406 can be a stand-alone unit that can be associated with the memory module 402 , and can generate and execute commands to access data to/from the memory 404 .
- the wafer program component 102 can facilitate a signature authentication requirement for end-users to access a certain subset(s) of content stored in the memory 404 .
- the certain subset(s) of content can include or relate to personalized information (e.g., identification information, bank account information, credit card information, etc.) that can be associated with a particular user and/or can be subscription-based content (e.g., specified applications, specified audio files, etc.) for which the user can subscribe in order to be granted access such information.
- personalized information e.g., identification information, bank account information, credit card information, etc.
- subscription-based content e.g., specified applications, specified audio files, etc.
- system 400 can include an authentication component 410 that can solicit authentication data from an entity or user, and, upon the authentication data so solicited, can be employed, individually and/or in conjunction with information acquired and ascertained as a result of biometric modalities employed, to facilitate control access to the memory 404 .
- the authentication data can be in the form of a password (e.g., a sequence of humanly cognizable characters), a pass phrase (e.g., a sequence of alphanumeric characters that can be similar to a typical password but is conventionally of greater length and contains non-humanly cognizable characters in addition to humanly cognizable characters), a pass code (e.g., Personal Identification Number (PIN)), and the like, for example.
- PIN Personal Identification Number
- public key infrastructure (PKI) data can also be employed by authentication component 410 .
- PKI arrangements can provide for trusted third parties to vet, and affirm, entity identity through the use of public keys that typically can be certificates issued by the trusted third parties. Such arrangements can enable entities to be authenticated to each other, and to use information in certificates (e.g., public keys) and private keys, session keys, Traffic Encryption Keys (TEKs), cryptographic-system-specific keys, and/or other keys, to encrypt and decrypt messages communicated between entities.
- certificates e.g., public keys
- private keys e.g., session keys
- TKs Traffic Encryption Keys
- cryptographic-system-specific keys e.g., cryptographic-system-specific keys
- the authentication component 410 can implement one or more machine-implemented techniques to identify an entity by its unique physical and behavioral characteristics and attributes.
- Biometric modalities that can be employed can include, for example, face recognition wherein measurements of key points on an entity's face can provide a unique pattern that can be associated with the entity, iris recognition that measures from the outer edge towards the pupil the patterns associated with the colored part of the eye—the iris—to detect unique features associated with an entity's iris, and finger print identification that scans the corrugated ridges of skin that are non-continuous and form a pattern that can provide distinguishing features to identify an entity.
- the host processor component 406 and/or wafer program component 102 can facilitate the encryption and/or decryption of data that can be stored in the memory 404 by utilizing the cryptographic component 412 .
- the cryptographic component 412 can include a security engine (not shown) that can be configured to perform cryptographic functions that can facilitate securing data written to, stored in, and/or read from the memory 404 .
- Cryptographic functions such as, for example, encryption, decryption, key generation, and/or hash, to facilitate data security can be employed (e.g., via software) by the security engine in conjunction with a host processor component 406 and can include use of symmetric and/or asymmetric algorithms, such as Advanced Encryption Standard (AES)—a block symmetric key cipher, Data Encryption Standard (DES), Triple Data Encryption Standard (3DES)—a block cipher form by utilizing the DES cipher at least three times, Secure Hash Algorithm (SHA) and its variants such as, for example, SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512, and the Rivest, Shamir, and Adleman (RSA) encryption algorithm, and the like.
- AES Advanced Encryption Standard
- DES Data Encryption Standard
- 3DES Triple Data Encryption Standard
- SHA Secure Hash Algorithm
- SHA Secure Hash Al
- the host processor component 406 and/or wafer program component 102 can facilitate the compression of data that can be stored in the memory 404 by coordinating data transfers through the compression component 414 .
- the compression component 414 can provide compression of data by encoding information using fewer bits than an unencoded representation of data would use through use of encoding schemes that can employ data compression algorithms, such as lossless compression algorithms or lossy compression algorithms, for example.
- the compression component 414 can be used in conjunction with any combination of other electric and/or semiconductor components (e.g., cryptographic component 412 , authentication component 410 , host processor 406 ) to perform a combination of operations on data to be stored in the memory 404 based on the type of data to be stored in the memory 404 , such as, for example, end-user personal data (e.g., bank account information, credit card information, PIN numbers) and/or other data (e.g., applications, media files).
- end-user personal data e.g., bank account information, credit card information, PIN numbers
- other data e.g., applications, media files.
- the bus component 408 can provide a network or electrical interconnect between electric and/or semiconductor components with the memory module 402 including, but not limited to, the authentication component 410 , the compression component 414 , the cryptographic component 412 , the host processor 406 , and/or the memory 404 .
- the bus component 408 can be comprised of any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), Firewire (IEEE 1394), and Small Computer Systems Interface (SCSI).
- ISA Industrial Standard Architecture
- MSA Micro-Channel Architecture
- EISA Extended ISA
- IDE Intelligent Drive Electronics
- VLB VESA Local Bus
- PCI Peripheral Component Interconnect
- Card Bus Universal Serial Bus
- USB Universal Serial Bus
- AGP Advanced Graphics Port
- PCMCIA Personal Computer Memory Card International Association bus
- Firewire IEEE 1394
- SCSI Small
- the memory module 402 can consist of one or more combinations of electronic and/or semiconductor devices/components.
- the memory module 402 can include the memory 404 , authentication component 410 , cryptographic component 412 , compression component 414 , or any combination thereof. It is to be understood that one or more of the components authentication component 410 , cryptographic component 412 , and/or compression component 414 can be stand-alone units that can be associated with the memory module 402 .
- memory module 402 can be implemented and/or contained on a single IC chip. In another embodiment, memory module 402 can be implemented and/or contained on a stand-alone application-specific integrated-circuit (ASIC) chip.
- ASIC application-specific integrated-circuit
- the system 500 can include a memory 404 that can include one or more memory locations (e.g., memory cells) in which data can be written and/or stored, and from which data can be read or erased.
- the memory 404 can be the same as or similar to, and can include such functionality, as more fully described herein, for example, with regard to memory 404 in system 400 , the memory of system 300 , and/or the memory devices of system 100 .
- the memory 302 can be partitioned into one or more memory spaces, memory space 502 , memory space 504 , memory space 506 , memory space 508 , and memory space 510 (hereinafter also collectively referred to as “memory spaces 502 , 504 , 506 , 508 , 510 ”).
- the memory spaces 502 , 504 , 506 , 508 , 510 can provide an abstract view of how memory can be allocated to provide blocks of storage for data content.
- the wafer program component 102 can facilitate the programming of one or more operating systems into one or more of the memory spaces 502 , 504 , 506 , 508 , 510 , illustrated in FIG. 5 as the OS code partitions, which can be memory space 502 and/or memory space 504 .
- the wafer program component 102 can facilitate the programming of data into the content partitions of the memory space 506 , memory space 508 , and/or memory space 510 wherein the data can be data specific to the type of electronic device, such as PDAs, mobile devices, and/or smart cards, for example, in which the memory 404 is being utilized.
- the data programmed into the content partitions e.g., memory space 506 , memory space 508 , memory space 510
- access to one or more of the memory spaces 502 , 504 , 506 , 508 , 510 can be restricted.
- the wafer program component 102 can facilitate that end-users provide authentication credentials to gain access to one or more of the memory spaces 502 , 504 , 506 , 508 , 510 .
- access can be granted to end-users via a subscription-based service. Access can also be granted to the certain portions of the data contained in the memory spaces 502 , 504 , 506 , 508 , 510 without necessity of the end-users or entities providing authentication credentials, as desired.
- partitioning of the memory 404 described herein is only one illustrative example, and the subject innovation is not so limited.
- the subject innovation contemplates that the memory 404 can be partitioned, as desired, into virtually any number of partitions that can each store desired content.
- the system 600 can include a memory array(s) 602 that can include a plurality of memory cells 604 that each can be comprised of a drain, gate, and source. Each memory cell 604 can have one or more levels therein and can thereby store one or more bits of data therein, where each level can be associated with a bit of data.
- the memory array 602 can be included in the memory device described in system 100 , the memory device described in system 300 , and/or the memory 404 , for example.
- the system 600 can include an X-decoder component 606 (e.g., word line (WL) decoder) and a Y-decoder component 608 (e.g., bit line (BL) decoder) that can each respectively decode inputs/outputs during various operations (e.g., programming, reading, verifying, erasing) that can be performed on the memory cells 604 .
- the X-decoder component 606 and Y-decoder component 608 can each receive address bus information from a host processor (e.g., 406 ) and/or system controller (not shown) or the like, and can utilize such information to facilitate accessing or selecting the desired memory cell(s) (e.g., memory location(s)) associated with the command.
- a host processor e.g., 406
- system controller not shown
- the memory cells 604 can be formed in M rows and N columns.
- a common WL can be attached to the gate of each memory cell 604 in a row, such as word-lines WL 0 , WL 1 , WL 2 , through WLM.
- a common BL can be attached to each cell 604 in a column, such as bit-lines BL 0 , BL 1 , through BLN.
- a WL can contain, for example, a plurality of elements (e.g., 512, 1024, 2048) forming multiple words.
- a sector can include a plurality of WLs, such as, for example, 512 WLs that can provide 512 k elements of memory.
- respective voltages can be applied to one or more memory cells 604 through the WLs and BLs to facilitate performing operations, such as program, read, erase, and the like.
- System 700 can employ intelligence to facilitate programming data to memory devices contained on a wafer in accordance with the disclosed subject matter.
- System 700 can include a wafer program component 102 that can facilitate programming data (e.g., content) to a plurality of memory devices (not shown) respectively included in a plurality of memory modules (e.g., 402 ), memory module 0 106 , memory module 1 108 , and up through memory module n 110 , that can be contained on a wafer component 104 .
- the wafer program component 102 , memory modules each can be substantially similar to respective components and can include such respective functionality as described herein, for example, with regard to system 100 , system 200 , system 300 , system 400 , system 500 , and/or system 600 .
- the system 700 can further include an intelligent component 702 that can be associated with the wafer program component 102 to facilitate analyzing data and can make an inference(s) and/or a determination(s) regarding, for example, a particular subset of data that is to be programmed and stored in the memory (e.g., 404 ) based on predefined criteria, such as the type of electronic device in which the memory is to be utilized, characteristics of a user or expected user of the electronic device, the type of content (e.g., subscription-based content, personal data, unrestricted data, etc.), entities (e.g., companies, such as financial institutions, cellular phone provider, Internet access provider, application(s) provider, media provider, etc.) associated with the electronic device, authentication protocol associated with programmed content, cryptographic protocol associated with programmed content, data compression associated with programmed content, and/or whether the memory devices are to receive identical content or customized content when programmed by the wafer program component 102 .
- predefined criteria such as the type of electronic device in which the memory is
- the intelligent component 702 can infer a subset of content that can be provided to respective memory devices (e.g., 404 ) based on the type electronic user device the memory modules 106 , 108 , 110 is to be installed or based on the desired content of a user wishes to be stored in the memory devices, for example.
- the intelligent component 702 can analyze such information and based on current and/or historical evidence such as, for example, what type of data a user(s) have historically preferred, can render an inference regarding what information is to be stored into the plurality of memory devices in respective memory modules, such as memory modules 106 , 108 , 110 , in accordance with the disclosed subject matter.
- the intelligent component 702 can provide for reasoning about or infer states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example.
- the inference can be probabilistic—that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data.
- Such inference results in the construction of new events or actions from a set of observed events and/or stored event data (e.g., historical data), whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
- Various classification (explicitly and/or implicitly trained) schemes and/or systems e.g., support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, data fusion engines . . . ) can be employed in connection with performing automatic and/or inferred action in connection with the disclosed subject matter.
- Such classification can employ a probabilistic and/or statistical-based analysis (e.g., factoring into the analysis utilities and costs) to prognose or infer an action that a user desires to be automatically performed.
- a support vector machine (SVM) is an example of a classifier that can be employed. The SVM operates by finding a hypersurface in the space of possible inputs, which hypersurface attempts to split the triggering criteria from the non-triggering events.
- Other directed and undirected model classification approaches include, e.g., na ⁇ ve Bayes, Bayesian networks, decision trees, neural networks, fuzzy logic models, and probabilistic classification models providing different patterns of independence can be employed. Classification as used herein also is inclusive of statistical regression that is utilized to develop models of priority.
- System 700 also can include a presentation component 704 that can present data associated with the wafer component 102 . It is to be appreciated that the presentation component 704 can be incorporated into the wafer program component 102 and/or a stand-alone unit. The presentation component 704 can provide various types of user interfaces to facilitate interaction between a user and any component coupled to the wafer component 102 .
- the presentation component 704 can provide one or more graphical user interfaces (GUIs), command line interfaces, and the like.
- GUIs graphical user interfaces
- a GUI can be rendered that provides a user with a region or means to load, import, read, etc., data, and can include a region to present the results of such.
- regions can comprise known text and/or graphic regions comprising dialogue boxes, static controls, drop-down-menus, list boxes, pop-up menus, as edit controls, combo boxes, radio buttons, check boxes, push buttons, and graphic boxes.
- utilities to facilitate the presentation such as vertical and/or horizontal scroll bars for navigation and toolbar buttons to determine whether a region will be viewable can be employed.
- the user can interact with one or more of the components coupled to and/or incorporated into the processor 706 .
- the user can also interact with the regions to select and provide information via various devices such as a mouse, a roller ball, a keypad, a keyboard, a pen and/or voice activation, for example.
- a mechanism such as a push button or the enter key on the keyboard can be employed subsequent entering the information in order to initiate the search.
- a command line interface can be employed.
- the command line interface can prompt (e.g., via a text message on a display and an audio tone) the user for information via providing a text message.
- command line interface can be employed in connection with a GUI and/or API.
- command line interface can be employed in connection with hardware (e.g., video cards) and/or displays (e.g., black and white, and EGA) with limited graphic support, and/or low bandwidth communication channels.
- FIGS. 8-12 illustrate methodologies and/or flow diagrams in accordance with the disclosed subject matter.
- the methodologies are depicted and described as a series of acts. It is to be understood and appreciated that the subject innovation is not limited by the acts illustrated and/or by the order of acts, for example acts can occur in various orders and/or concurrently, and with other acts not presented and described herein. Furthermore, not all illustrated acts may be required to implement the methodologies in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that the methodologies could alternatively be represented as a series of interrelated states via a state diagram or events. Additionally, it should be further appreciated that the methodologies disclosed hereinafter and throughout this specification are capable of being stored on an article of manufacture to facilitate transporting and transferring such methodologies to computers. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device, carrier, or media.
- a methodology 800 that can facilitate programming data to memory devices in accordance with the disclosed subject matter is illustrated.
- one or more subsets of content that can be associated with at least one user or at least one type of electronic device e.g., cellular phone, PDA, smart card, etc.
- at least one user or at least one type of electronic device e.g., cellular phone, PDA, smart card, etc.
- the subset(s) of content can include, for example, operating systems, applications (e.g., word processor applications, game applications, etc.), media files, and other data associated with a type of electronic device; data related to an entity (e.g., financial institution, cellular phone provider, Internet provider, media provider, etc.) associated with the electronic device and/or user of the electronic device; and/or personalized data (e.g., identification information, bank account information, credit card information, etc.) associated with a user of the electronic device.
- the subset(s) of content can be determined based on a type of electronic device the memory devices within each of memory modules 0 106 through memory module n 110 will be associated or installed.
- a cellular phone can include a certain subset of data that can be data associated with the cellular phone provider, game programs, applications, personalized data, and/or security codes.
- the subset(s) of content can be determined based on, for example, specific end-user personal information (e.g., bank account information, credit card information, and/or PIN numbers, for example).
- the same subset of content can be programmed to all the memory devices on the wafer, or alternatively, different subsets of content can programmed to respective memory devices, where the different subsets of content can be tailored based on the electronic device in which the memory device is to be utilized, user(s) associated with the electronic device, and/or entity(ies) associated with the electronic device.
- the desired subset(s) of content can be programmed into the plurality of memory devices (e.g., within memory modules 106 , 108 , 110 ) contained on the wafer (e.g., 104 ).
- the wafer program component 102 can facilitate programming (e.g., storing) the desired subset(s) of content to the plurality of memory devices while the memory devices are still on the wafer (e.g., prior to being cut into individual dies). Further, the wafer program component 102 can facilitate programming the subset(s) of content to the plurality of memory devices at the same or substantially the same time (e.g., in parallel) to effectively increase the overall efficiency at which the memory devices can be programmed.
- methodology 800 can end.
- Methodology 900 can facilitate programming desired content to a plurality of memory devices contained on a wafer at the same time, or substantially the same time.
- a content database e.g., data database, information database
- content e.g., data, and/or information
- a storage device such as, for example, memory, a floppy drive, a hard drive and/or magnetic tape device.
- the content can include, for example, operating systems, applications (e.g., word processor applications, game applications, etc.), media files, and other data associated with a type of electronic device; data related to an entity (e.g., financial institution, cellular phone provider, Internet provider, media provider, etc.) associated with the electronic device and/or user of the electronic device; and/or personalized data (e.g., identification information, bank account information, credit card information, etc.) associated with a user of the electronic device.
- applications e.g., word processor applications, game applications, etc.
- media files e.g., digital files, digital files, and other data associated with a type of electronic device
- data related to an entity e.g., financial institution, cellular phone provider, Internet provider, media provider, etc.
- personalized data e.g., identification information, bank account information, credit card information, etc.
- the content database can include different content for different types of end-user electronic devices that the memory devices (e.g., associated with memory modules 106 , 108 , 110 ) can be associated with such as, for example, cellular phones, smart cards, PDAs, and/or security cards, as more fully described herein.
- the memory devices e.g., associated with memory modules 106 , 108 , 110
- the memory devices can be associated with such as, for example, cellular phones, smart cards, PDAs, and/or security cards, as more fully described herein.
- a first subset of content can be retrieved from the content database based on predetermined or predefined program criteria, such as, for example, a type of electronic device, a user(s) associated with the electronic device, and/or an entity(ies) associated with the electronic device.
- the wafer program component 102 can facilitate retrieval of the subset of content based on the type of electronic device in which a memory device is to be utilized, where the memory device can store the subset of content, and/or a user(s) and/or entity associated with the electronic device.
- the wafer program component 102 can facilitate the retrieval of the subset of content based on the type of information (e.g., audio and/or video data for example) that is to be stored into one or more of the devices (e.g., memory modules 106 , 108 , 110 ).
- the type of information e.g., audio and/or video data for example
- the devices e.g., memory modules 106 , 108 , 110 .
- the first subset of content can be programmed into the plurality of memory devices, within respective memory modules, on the wafer.
- the wafer program component 102 can facilitate programming the first subset of content into the plurality of memory devices while they are still in wafer form (e.g., prior to being cut into individual dies). Further, the wafer program component 102 can facilitate programming the subset of content into the plurality of memory devices at the same or substantially the same time (e.g., in parallel) to increase the efficiency at which the memory devices (e.g., memory modules 106 , 108 , 110 ) can be programmed.
- the memory devices e.g., memory modules 106 , 108 , 110
- the wafer component 104 can be cut or diced into a plurality of dies, where each die can be a memory module (e.g., 106 , 108 , 110 , 402 ) that can each respectively include a memory device (e.g., 404 ).
- the first subset of content can reside in the memory devices when the memory devices are cut into individual dies.
- the dies can then be placed in an IC package (e.g., plastic or ceramic).
- the first subset of content can be programmed into the individual memory devices once the dies are placed in the IC package.
- the memory devices can be installed into end-user electronic devices, such as PDAs, watches, cell phones, electronic organizers, and/or smart cards, for example.
- end-user electronic devices such as PDAs, watches, cell phones, electronic organizers, and/or smart cards, for example.
- the first subset of content programmed into the memory devices e.g., at reference numeral 906
- the first subset of content programmed into the memory devices can still reside in the memory devices at this point.
- a second subset of content which can be a portion of the first subset of content, can be accessed controlled (e.g., access restricted) via associated access rights, attributes, and authentication credentials to support end-user subscription-based access to the second subset of content.
- controlled e.g., access restricted
- the authentication of the second subset of content can be in the form of a password (e.g., a sequence of humanly cognizable characters), a pass phrase (e.g., a sequence of alphanumeric characters that can be similar to a typical password but is conventionally of greater length and contains non-humanly cognizable characters in addition to humanly cognizable characters), a pass code (e.g., Personal Identification Number (PIN)), and the like, for example.
- PIN Personal Identification Number
- the second subset of content can be comprised of one or more disparate subsets of content, where each disparate subset of content can be associated with disparate authentication protocol and/or disparate authentication information. Each disparate subset of content can accessed via presentation of respective authentication information in accordance with a respective authentication protocol associated therewith.
- methodology 900 can end.
- FIG. 10 depicts a methodology 1000 that can facilitate programming content into the memory devices in accordance with the disclosed subject matter.
- a content database can be created and content can be stored in a storage device such as, for example, memory, hard drives, and/or magnetic tape devices.
- the content database can include content associated with different types of end-user electronic devices (e.g., cellular phones, PDAs, smart cards, etc.) in which the memory devices can be utilized.
- the memory devices can be formed on a wafer and can be programmed (e.g., in parallel) with the same or different content, as desired, while contained on the wafer.
- the subset of content can be retrieved from the content database.
- the subset of content can be programmed to the plurality of memory devices, within respective memory modules, contained on the wafer.
- the subset of content can be programmed in parallel such that the subset of content can be programmed to each of the memory devices at the same time, or substantially the same time.
- disparate subsets of content can be determined, where each disparate subset of content can be comprised of all or a portion of the content contained in the content database.
- the subset of content can be selected based on the type of electronic device with which associated therewith, the desires/requirements of a user(s) or expected user(s) of the electronic device, and/or an entity(ies) associated with the electronic device.
- a first disparate subset of content can include a first set of applications associated with a first service provider (e.g., cellular phone provider, Internet provider), and a first set of media files; and a second disparate subset of content can include a second set of applications associated with a second service provider, and a second set of media files.
- a first service provider e.g., cellular phone provider, Internet provider
- a second disparate subset of content can include a second set of applications associated with a second service provider, and a second set of media files.
- the disparate subsets of content can be retrieved from the content database.
- each of the disparate subsets of content can be programmed to the corresponding memory devices on the wafer.
- the wafer program component 102 can facilitate programming the subset of content based on respective personalized information of at least one user and/or entity into the plurality of memory devices at the same or substantially the same time (e.g., in parallel) to increase the efficiency at which the memory devices can be programmed.
- methodology 1000 can end.
- a methodology 1100 that can facilitate programming rights-restricted data into memory devices in accordance with the disclosed subject matter.
- a content database which can also be referred to as an information database or data database, can be created and data (e.g., content) can be stored in a storage device such as, for example, memory, a floppy drive, a hard drive and/or magnetic tape.
- data e.g., content
- a storage device such as, for example, memory, a floppy drive, a hard drive and/or magnetic tape.
- one or more subsets of content can be determined, where the subset(s) of content can include all or a portion of the content contained in the content database.
- the subset(s) of content can be selected or determined based on the type of electronic device with which associated therewith, the desires/requirements of a user(s) or expected user(s) of the electronic device, and/or an entity(ies) associated with the electronic device.
- the same subset of content, or, alternatively, disparate subsets of content can be programmed (e.g., in parallel) to respective memory devices (within memory modules) contained on a wafer.
- Certain content e.g., applications, games, media files, etc.
- a subscription can be required in order to be authorized to access such certain content. If a user subscribes with regard to such content, the user can be provided associated authentication information that can be inputted into the electronic device that contains the content, and such content can be accessed if proper authentication credentials are presented.
- Other content can be certain personalized information that can be rights-restricted, such as identification information, bank account information, credit card information, etc., where proper authentication credentials are to be presented (e.g., input) to the electronic device in order for a user to access such content.
- the authentication credentials can be in the form of a password, a pass phrase, a pass code (e.g., PIN), and the like, for example.
- Still other content can have unrestricted access rights and can be accessed by a user of the electronic device without providing authentication credentials.
- the subset(s) of content can be programmed to the memory device without a restriction placed on the access rights to such subset(s) of content.
- the subset(s) of content can be programmed in parallel to respective memory devices contained in the wafer to efficiently program such memory devices, where parallel programming of the memory devices while on the wafer can facilitate reducing manufacturing cost and/or increasing productivity, for example.
- a level(s) and/or type(s) of authentication can be determined with respect to each portion of content that is rights-restricted.
- a subset of content can include a gaming application that can require a subscription by the user and proper authentication credentials be provided in order to access the gaming application, and can also include personalized information (e.g., user's credit card information) that can require disparate authentication credentials be provided in order to access such personalized information.
- the subset(s) of content can be programmed and stored, respectively, in the desired memory devices contained on the wafer, with rights-restricted content locked or otherwise made inaccessible to user(s) of the electronic device(s) that contains the memory device(s) until proper authentication credentials associated with such content is provided (e.g., input) into the electronic device.
- a wafer program component e.g., 102
- methodology 1100 can end.
- a methodology 1200 that can facilitate programming compressed data to memory devices in accordance with the disclosed subject matter.
- a content database can be created and data can be stored to storage devices (e.g., memory, hard drive, and/or magnetic tape device, for example).
- the content database can include data for different types of end-user electronic devices (e.g., cell phones, smart cards, PDAs, and/or security cards, for example).
- one or more subsets of content can be determined, where the subset(s) of content can be respectively associated with an electronic device (e.g., cellular phone, PDA, smart card, etc.), a user of the electronic device, and/or an entity associated with the electronic device.
- an electronic device e.g., cellular phone, PDA, smart card, etc.
- a wafer program component e.g., 102
- the wafer program component can include or can be associated with a processor that can facilitate compressing the data desired to be compressed.
- the data to be compressed can be compressed in accordance with any suitable data compression algorithm, such as, for example, lossless compression algorithms or lossy compression algorithms. Other data that is not to be compressed can remain uncompressed.
- the compressed content and/or uncompressed content can be organized in accordance with the respective subset(s) of content and can be programmed to respective memory devices in which the respective subset(s) of content can be stored.
- the wafer program component can program the subset(s) of content, which can include compressed and/or uncompressed data, to the respective memory devices in parallel to facilitate efficient programming of the memory devices, which can reduce manufacturing cost and/or increase productivity.
- methodology 1200 can end.
- ком ⁇ онент can be a process running on a processor, a processor, an object, an executable, a program, and/or a computer.
- a component can be a process running on a processor, a processor, an object, an executable, a program, and/or a computer.
- an application running on a server and the server can be a component.
- One or more components can reside within a process and a component can be localized on one computer and/or distributed between two or more computers.
- the disclosed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter.
- article of manufacture as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media.
- computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ).
- a carrier wave can be employed to carry computer-readable electronic data such as those used in transmitting and receiving electronic mail or in accessing a network such as the Internet or a local area network (LAN).
- LAN local area network
- FIGS. 13 and 14 are intended to provide a brief, general description of a suitable environment in which the various aspects of the disclosed subject matter may be implemented. While the subject matter has been described above in the general context of computer-executable instructions of a computer program that runs on a computer and/or computers, those skilled in the art will recognize that the subject innovation also may be implemented in combination with other program modules. Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks and/or implement particular abstract data types.
- inventive methods may be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, mini-computing devices, mainframe computers, as well as personal computers, hand-held computing devices (e.g., PDA, phone, watch), microprocessor-based or programmable consumer or industrial electronics, and the like.
- the illustrated aspects may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote memory storage devices.
- a suitable environment 1300 for implementing various aspects of the claimed subject matter includes a computer 1312 .
- the computer 1312 includes a processing unit 1314 , a system memory 1316 , and a system bus 1318 .
- the system bus 1318 couples system components including, but not limited to, the system memory 1316 to the processing unit 1314 .
- the processing unit 1314 can be any of various available processors. Dual microprocessors and other multiprocessor architectures also can be employed as the processing unit 1314 .
- the system bus 1318 can be any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), Firewire (IEEE 1394), and Small Computer Systems Interface (SCSI).
- ISA Industrial Standard Architecture
- MSA Micro-Channel Architecture
- EISA Extended ISA
- IDE Intelligent Drive Electronics
- VLB VESA Local Bus
- PCI Peripheral Component Interconnect
- Card Bus Universal Serial Bus
- USB Universal Serial Bus
- AGP Advanced Graphics Port
- PCMCIA Personal Computer Memory Card International Association bus
- Firewire IEEE 1394
- SCSI Small Computer Systems Interface
- the system memory 1316 includes volatile memory 1320 and nonvolatile memory 1322 .
- the basic input/output system (BIOS) containing the basic routines to transfer information between elements within the computer 1312 , such as during start-up, is stored in nonvolatile memory 1322 .
- nonvolatile memory 1322 can include ROM, PROM, EPROM, EEPROM, FeRAM, or flash memory.
- Volatile memory 1320 includes RAM, which acts as external cache memory.
- RAM is available in many forms such as SRAM, dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM).
- DRAM dynamic RAM
- SDRAM synchronous DRAM
- DDR SDRAM double data rate SDRAM
- ESDRAM enhanced SDRAM
- SLDRAM Synchlink DRAM
- RDRAM Rambus direct RAM
- DRAM direct Rambus dynamic RAM
- RDRAM Rambus dynamic RAM
- Disk storage 1324 includes, but is not limited to, devices like a magnetic disk drive, floppy disk drive, tape drive, Jaz drive, Zip drive, LS-100 drive, flash memory card, or memory stick.
- disk storage 1324 can include storage media separately or in combination with other storage media including, but not limited to, an optical disk drive such as a compact disk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RW Drive) or a digital versatile disk ROM drive (DVD-ROM).
- an optical disk drive such as a compact disk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RW Drive) or a digital versatile disk ROM drive (DVD-ROM).
- a removable or non-removable interface is typically used, such as interface 1326 .
- FIG. 13 describes software that acts as an intermediary between users and the basic computer resources described in the suitable operating environment 1300 .
- Such software includes an operating system 1328 .
- Operating system 1328 which can be stored on disk storage 1324 , acts to control and allocate resources of the computer system 1312 .
- System applications 1330 take advantage of the management of resources by operating system 1328 through program modules 1332 and program data 1334 stored either in system memory 1316 or on disk storage 1324 . It is to be appreciated that the disclosed subject matter can be implemented with various operating systems or combinations of operating systems.
- Input devices 1336 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, and the like. These and other input devices connect to the processing unit 1314 through the system bus 1318 via interface port(s) 1338 .
- Interface port(s) 1338 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB).
- Output device(s) 1340 use some of the same type of ports as input device(s) 1336 .
- a USB port may be used to provide input to computer 1312 , and to output information from computer 1312 to an output device 1340 .
- Output adapter 1342 is provided to illustrate that there are some output devices 1340 like monitors, speakers, and printers, among other output devices 1340 , which require special adapters.
- the output adapters 1342 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between the output device 1340 and the system bus 1318 . It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 1344 .
- Computer 1312 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1344 .
- the remote computer(s) 1344 can be a personal computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative to computer 1312 .
- only a memory storage device 1346 is illustrated with remote computer(s) 1344 .
- Remote computer(s) 1344 is logically connected to computer 1312 through a network interface 1348 and then physically connected via communication connection 1350 .
- Network interface 1348 encompasses wire and/or wireless communication networks such as local-area networks (LAN) and wide-area networks (WAN).
- LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet, Token Ring and the like.
- WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL).
- ISDN Integrated Services Digital Networks
- DSL Digital Subscriber Lines
- Communication connection(s) 1350 refers to the hardware/software employed to connect the network interface 1348 to the bus 1318 . While communication connection 1350 is shown for illustrative clarity inside computer 1312 , it can also be external to computer 1312 .
- the hardware/software necessary for connection to the network interface 1348 includes, for exemplary purposes only, internal and external technologies such as, modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards.
- FIG. 14 illustrated is a block diagram of an exemplary, non-limiting electronic device 1400 that can incorporate system 100 , system 200 , system 300 , system 400 , system 500 , system 600 , and/or system 700 , or a portion(s) thereof.
- the electronic device can include, but is not limited to, network equipment (e.g.
- routers access points
- a media player and/or recorder e.g., audio player and/or recorder, video player and/or recorder
- a television e.g., a smart card, a phone, a cellular phone, a smart phone, an electronic organizer, a PDA, a portable email reader, a laptop computers, a digital camera, an electronic device associated with digital rights management, a Personal Computer Memory Card International Association (PCMCIA) card, a trusted platform module (TPM), a Hardware Security Module (HSM), set-top boxes, a digital video recorder, a gaming console, a navigation system or device (e.g., global position satellite (GPS) system), secure memory devices with computational capabilities, devices with tamper-resistant chips, an electronic device associated with an industrial control system, an embedded computer in a machine (e.g., an airplane, a copier, a motor vehicle, a microwave oven), and the like.
- GPS global position satellite
- Components of the electronic device 1400 can include, but are not limited to, a processing unit 1402 , a system memory 1404 (with nonvolatile memory 1410 ), and a system bus 1406 that can couple various system components including the system memory 1404 to the processing unit 1402 .
- the system bus 1406 can be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, or a local bus using any of a variety of bus architectures.
- Computer readable media can be any available media that can be accessed by the electronic device 1400 .
- Computer readable media can comprise computer storage media and communication media.
- Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, nonvolatile memory 1410 or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by electronic device 1400 .
- Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
- the system memory 1404 includes computer storage media in the form of volatile and/or nonvolatile memory such as nonvolatile memory 1410 .
- a basic input/output system (BIOS) containing the basic routines that help to transfer information between elements within electronic device 1400 , such as during start-up, can be stored in memory 1404 .
- Memory 1404 typically also contains data and/or program modules that can be immediately accessible to and/or presently being operated on by processing unit 1402 .
- system memory 1404 can also include an operating system, application programs, other program modules, and program data.
- the nonvolatile memory 1410 can be removable or non-removable.
- the nonvolatile memory 1410 can be in the form of a removable memory card or a USB flash drive.
- the nonvolatile memory 1410 can include flash memory (e.g., single-bit flash memory, multi-bit flash memory), ROM, PROM, EPROM, EEPROM, or NVRAM (e.g., FeRAM), or a combination thereof, for example.
- the flash memory can be comprised of NOR flash memory and/or NAND flash memory.
- a user can enter commands and information into the electronic device 1400 through input devices (not shown) such as a keypad, microphone, tablet or touch screen although other input devices can also be utilized. These and other input devices can be connected to the processing unit 1402 through input interface component 1408 that can be connected to the system bus 1406 . Other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB) can also be utilized.
- a graphics subsystem (not shown) can also be connected to the system bus 1406 .
- a display device (not shown) can be also connected to the system bus 1412 via an interface, such as output interface component 1412 , which can in turn communicate with video memory.
- the electronic device 1400 can also include other peripheral output devices such as speakers (not shown), which can be connected through output interface component 1412 .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/874,036 US8201258B2 (en) | 2007-10-17 | 2007-10-17 | Secure personalization of memory-based electronic devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/874,036 US8201258B2 (en) | 2007-10-17 | 2007-10-17 | Secure personalization of memory-based electronic devices |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090106483A1 US20090106483A1 (en) | 2009-04-23 |
US8201258B2 true US8201258B2 (en) | 2012-06-12 |
Family
ID=40564638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/874,036 Active 2030-07-24 US8201258B2 (en) | 2007-10-17 | 2007-10-17 | Secure personalization of memory-based electronic devices |
Country Status (1)
Country | Link |
---|---|
US (1) | US8201258B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9870487B2 (en) | 2014-12-30 | 2018-01-16 | Data I/O Corporation | Automated manufacturing system with adapter security mechanism and method of manufacture thereof |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090259793A1 (en) * | 2008-04-10 | 2009-10-15 | Sony Corporation And Sony Electronics Inc. | System and method for effectively implementing an erase mode for a memory device |
US8935648B2 (en) * | 2012-03-16 | 2015-01-13 | Intel Corporation | At least one die produced, at least in part, from wafer, and including at least one replicated integrated circuit |
US8869306B2 (en) * | 2013-01-24 | 2014-10-21 | Bank Of America Corporation | Application usage in device identification program |
US10506053B2 (en) * | 2014-03-07 | 2019-12-10 | Comcast Cable Communications, Llc | Location aware security system |
FR3028642B1 (en) * | 2014-11-13 | 2016-12-23 | Oberthur Technologies | METHOD FOR CUSTOMIZING A MICROCIRCUIT WITH WRITING A COMPRESSED PART OF SOFTWARE ENTITY, AND METHOD OF USE AND MICROCIRCUIT THEREFOR |
KR102362654B1 (en) | 2015-07-03 | 2022-02-15 | 삼성전자주식회사 | Oven |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6003134A (en) * | 1997-01-13 | 1999-12-14 | Kuo; Chih-Cheng | Secure open smart card architecture |
US20020040438A1 (en) * | 2000-05-05 | 2002-04-04 | Fisher David Landis | Method to securely load and manage multiple applications on a conventional file system smart card |
US6402028B1 (en) * | 1999-04-06 | 2002-06-11 | Visa International Service Association | Integrated production of smart cards |
US20030074611A1 (en) * | 2001-10-10 | 2003-04-17 | Tower Semiconductor Ltd. | Efficient test structure for non-volatile memory and other semiconductor integrated circuits |
US20030111528A1 (en) * | 2001-12-19 | 2003-06-19 | Akiko Sato | Smart card managing system |
US20030189092A1 (en) * | 2001-08-03 | 2003-10-09 | Tomoharu Takano | Multi-application ic card |
US20060053297A1 (en) * | 2004-09-03 | 2006-03-09 | Huang Chien C | System and method for protecting equipment data |
US20060168702A1 (en) * | 2003-07-11 | 2006-07-27 | Ernst Bretschneider | Security-sensitive semiconductor product, particularly a smart-card chip |
US7152230B2 (en) * | 2000-11-09 | 2006-12-19 | Hitachi, Ltd. | Storage media storing data related to smart card, smart card system and smart card application loading method |
US20070247937A1 (en) * | 2006-04-19 | 2007-10-25 | Elpida Memory, Inc. | Information processing system for calculating the number of redundant lines optimal for memory device |
US7299203B1 (en) * | 2001-04-19 | 2007-11-20 | Xilinx, Inc. | Method for storing and shipping programmable ASSP devices |
US20080005559A1 (en) * | 2006-04-19 | 2008-01-03 | Stepnexus Holdings | Methods and systems for ic card application loading |
US20080022364A1 (en) * | 2006-07-19 | 2008-01-24 | Mitsuhiro Oikawa | Authentication information management method for device embedded with microprocessor unit |
-
2007
- 2007-10-17 US US11/874,036 patent/US8201258B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6003134A (en) * | 1997-01-13 | 1999-12-14 | Kuo; Chih-Cheng | Secure open smart card architecture |
US6402028B1 (en) * | 1999-04-06 | 2002-06-11 | Visa International Service Association | Integrated production of smart cards |
US20020040438A1 (en) * | 2000-05-05 | 2002-04-04 | Fisher David Landis | Method to securely load and manage multiple applications on a conventional file system smart card |
US7152230B2 (en) * | 2000-11-09 | 2006-12-19 | Hitachi, Ltd. | Storage media storing data related to smart card, smart card system and smart card application loading method |
US7299203B1 (en) * | 2001-04-19 | 2007-11-20 | Xilinx, Inc. | Method for storing and shipping programmable ASSP devices |
US20030189092A1 (en) * | 2001-08-03 | 2003-10-09 | Tomoharu Takano | Multi-application ic card |
US20030074611A1 (en) * | 2001-10-10 | 2003-04-17 | Tower Semiconductor Ltd. | Efficient test structure for non-volatile memory and other semiconductor integrated circuits |
US20030111528A1 (en) * | 2001-12-19 | 2003-06-19 | Akiko Sato | Smart card managing system |
US20060168702A1 (en) * | 2003-07-11 | 2006-07-27 | Ernst Bretschneider | Security-sensitive semiconductor product, particularly a smart-card chip |
US20060053297A1 (en) * | 2004-09-03 | 2006-03-09 | Huang Chien C | System and method for protecting equipment data |
US20070247937A1 (en) * | 2006-04-19 | 2007-10-25 | Elpida Memory, Inc. | Information processing system for calculating the number of redundant lines optimal for memory device |
US20080005559A1 (en) * | 2006-04-19 | 2008-01-03 | Stepnexus Holdings | Methods and systems for ic card application loading |
US20080022364A1 (en) * | 2006-07-19 | 2008-01-24 | Mitsuhiro Oikawa | Authentication information management method for device embedded with microprocessor unit |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9870487B2 (en) | 2014-12-30 | 2018-01-16 | Data I/O Corporation | Automated manufacturing system with adapter security mechanism and method of manufacture thereof |
Also Published As
Publication number | Publication date |
---|---|
US20090106483A1 (en) | 2009-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8130955B2 (en) | Random number generation through use of memory cell activity | |
US9767303B2 (en) | Authenticated memory and controller slave | |
US7979658B2 (en) | Secure management of memory regions in a memory | |
US8201258B2 (en) | Secure personalization of memory-based electronic devices | |
US8694714B2 (en) | Retargeting of a write operation retry in the event of a write operation failure | |
US20090113272A1 (en) | Error correction coding in flash memory devices | |
US7746698B2 (en) | Programming in memory devices using source bitline voltage bias | |
US8370644B2 (en) | Instant hardware erase for content reset and pseudo-random number generation | |
US7979667B2 (en) | Memory array search engine | |
US7702934B2 (en) | Semiconductor device and BIOS authentication system | |
US8788740B2 (en) | Data commit on multicycle pass complete without error | |
US7945792B2 (en) | Tamper reactive memory device to secure data from tamper attacks | |
US8559255B2 (en) | Controlling AC disturbance while programming | |
US8239875B2 (en) | Command queuing for next operations of memory devices | |
US7821840B2 (en) | Multi-phase programming of multi-level memory | |
US20090106577A1 (en) | Optimize personalization conditions for electronic device transmission rates with increased transmitting frequency | |
US7768856B2 (en) | Control of temperature slope for band gap reference voltage in a memory device | |
US8296508B1 (en) | Secure memory device erase | |
JP2014044788A (en) | Storage medium using nonvolatile semiconductor memory device, and information terminal | |
US20070217274A1 (en) | Nonvolatile memory system and method for controlling nonvolatile memory | |
US8638931B2 (en) | Signal descrambling detector | |
US7808827B2 (en) | Controlled bit line discharge for channel erases in nonvolatile memory | |
US20090154215A1 (en) | Reducing noise and disturbance between memory storage elements using angled wordlines | |
CN110491434B (en) | Flash memory device and programming method thereof | |
Handschuh et al. | From Secure Memories to Smart Card Security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SPANSION LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHERPANTIER, FREDERIC;REEL/FRAME:019977/0899 Effective date: 20071012 |
|
AS | Assignment |
Owner name: BARCLAYS BANK PLC,NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNORS:SPANSION LLC;SPANSION INC.;SPANSION TECHNOLOGY INC.;AND OTHERS;REEL/FRAME:024522/0338 Effective date: 20100510 Owner name: BARCLAYS BANK PLC, NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNORS:SPANSION LLC;SPANSION INC.;SPANSION TECHNOLOGY INC.;AND OTHERS;REEL/FRAME:024522/0338 Effective date: 20100510 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: SPANSION TECHNOLOGY LLC, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:035201/0159 Effective date: 20150312 Owner name: SPANSION INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:035201/0159 Effective date: 20150312 Owner name: SPANSION LLC, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:035201/0159 Effective date: 20150312 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., NEW YORK Free format text: SECURITY INTEREST;ASSIGNORS:CYPRESS SEMICONDUCTOR CORPORATION;SPANSION LLC;REEL/FRAME:035240/0429 Effective date: 20150312 |
|
AS | Assignment |
Owner name: CYPRESS SEMICONDUCTOR CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPANSION, LLC;REEL/FRAME:036051/0001 Effective date: 20150601 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: MUFG UNION BANK, N.A., CALIFORNIA Free format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN INTELLECTUAL PROPERTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:050896/0366 Effective date: 20190731 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., NEW YORK Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTERST;ASSIGNORS:CYPRESS SEMICONDUCTOR CORPORATION;SPANSION LLC;REEL/FRAME:058002/0470 Effective date: 20150312 |
|
AS | Assignment |
Owner name: SPANSION LLC, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MUFG UNION BANK, N.A.;REEL/FRAME:059410/0438 Effective date: 20200416 Owner name: CYPRESS SEMICONDUCTOR CORPORATION, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MUFG UNION BANK, N.A.;REEL/FRAME:059410/0438 Effective date: 20200416 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |