WO2002095592A2 - Procede et appareil servant a fournir un acces en temps reel a des fonctions de memoire flash - Google Patents

Procede et appareil servant a fournir un acces en temps reel a des fonctions de memoire flash Download PDF

Info

Publication number
WO2002095592A2
WO2002095592A2 PCT/US2002/022516 US0222516W WO02095592A2 WO 2002095592 A2 WO2002095592 A2 WO 2002095592A2 US 0222516 W US0222516 W US 0222516W WO 02095592 A2 WO02095592 A2 WO 02095592A2
Authority
WO
WIPO (PCT)
Prior art keywords
flash
condition
command
flash memory
memory
Prior art date
Application number
PCT/US2002/022516
Other languages
English (en)
Other versions
WO2002095592A3 (fr
Inventor
Richard Garner
Original Assignee
Intel Corporation (A Delaware Corporation)
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corporation (A Delaware Corporation) filed Critical Intel Corporation (A Delaware Corporation)
Priority to AU2002339892A priority Critical patent/AU2002339892A1/en
Publication of WO2002095592A2 publication Critical patent/WO2002095592A2/fr
Publication of WO2002095592A3 publication Critical patent/WO2002095592A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits

Definitions

  • the present invention relates to the field of memories and more particularly to a technique to provide real-time access to flash memory features by use of a memory mapped input/output plane.
  • a flash memory is a non-volatile electrically erasable and electrically programmable read-only semiconductor memory. Once programmed, the flash memory retains the program data until the memory is erased. In a typical flash memory structure, several blocks of flash memory are configured together on a flash memory device.
  • a variety of flash memory devices are known in the art, but generally, a flash memory device is comprised of a plurality of memory cells, in which each cell includes a metal oxide semiconductor (MOS) transistor. Each flash transistor cell includes an isolated or floating gate that is programmed typically by electron injection from the channel.
  • MOS metal oxide semiconductor
  • Each flash transistor cell includes an isolated or floating gate that is programmed typically by electron injection from the channel.
  • a flash memory is partitioned into a plurality of memory blocks and in which operations are performed on a selected block or blocks.
  • a block erase routine is performed on each given block to erase the memory cells of that block.
  • flash memory devices are electrically erased to reset the state of the cells of a given block. Subsequently, over-erased cells are repaired and all cells verified to ensure that the cells are not in an over-erased condition. Once this procedure has been performed the cells can then be programmed.
  • the memory cells of a flash array or block are read to determine if a selected cell is either in a programmed or a non-programmed state.
  • the programmed cells require a higher threshold voltage to activate so that with a properly selected voltage on the control grid of a flash cell, the cell will conduct or not conduct depending on the programmed/non-programmed state of the particular cell.
  • the programmed information will generally include program code for execution by a processor or a controller.
  • the processor or controller coupled to operate with the flash memory will generally access the flash memory to initiate a boot sequence.
  • the boot sequence is then followed by an applications program, which is stored in the flash memory.
  • One program will configure the flash memory according to various information/parameters associated with the flash device. Some or all of these parameters are written to particular locations in the flash to provide the flash configuration.
  • the flash memory device When the processor is executing code from flash in the read mode, the flash memory device needs to be switched to another mode first (typically by writing the corresponding command to the flash device), before other functions can be performed, such as writing to the flash memory. Thereafter, in order to read the stored data (such as the program code mentioned above), the flash device needs to be placed back into the flash read mode (by writing a flash read command to the flash device).
  • the flash device In order to be able to execute the code from flash while having access to the flash memory to perform other functions, one prior art technique loads the flash data elsewhere, so that the code can be executed while other data locations can be accessed. Otherwise, constant switching between flash read and other modes is required to read data (for example, the flash code) normally present in the data array/blocks of the flash memory device.
  • the processor executes the flash code to configure the device.
  • Configuration parameters are mapped to designated locations in the flash memory. This procedure is sometimes referred to as mapping the configuration plane and is done during initialization of the flash device (such as at power on reset).
  • One existing practice is to transfer the contents of the flash memory (including the code for configuring the flash device) to another storage device such as RAM (random access memory), so that the code can be executed from RAM. This way the flash code, which is now in RAM, can be read and executed by the processor while executable commands can operate on the flash device. This way, an executable command instruction to the flash device can be performed, while reading the code from RAM.
  • Figure 1 is a block diagram showing a logical mapping of a flash configuration plane to a memory mapped input/output (MMIO) portion of a flash memory.
  • MMIO memory mapped input/output
  • Figure 2 is a block circuit diagram illustrating the various functional elements of a flash memory incorporating the MMIO of an embodiment of the present invention.
  • Figure 3 is a flow diagram comparing differences in performing the flash configuration at power on reset between the MMIO flash device of an embodiment of the present invention and a prior art flash device.
  • Figure 4 is a flow diagram comparing differences in handling a flash interrupt between the MMIO flash device of an embodiment of the present invention and a prior art flash device.
  • Figure 5 is a chart showing various registers that may be implemented within the MMIO portion of the flash memory embodying an embodiment of the present invention.
  • Figure 6 is a block schematic diagram showing one system implementation which includes the use of a flash memory device of an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
  • FIG. 1 a logical block diagram illustrating one embodiment of the present invention is shown.
  • a logical representation of a flash configuration plane 11 is shown, which plane 11 includes data utilized to configure a flash memory 10.
  • the configuration plane 11 is mapped during initialization of the flash memory 10, such as at power on reset.
  • prior art techniques typically will write the flash configuration code to other memory, such as RAM, in order for the flash memory to access flash data while executing code to configure the flash device.
  • the loading of the flash code to RAM in the prior art technique allows the flash commands to access and configure features pertaining to the configuration of the device, without continually writing commands to the flash device to switch the flash device between flash read and non-flash read modes.
  • a flash read mode herein is defined as a mode which allows reading of the data in the flash memory array/blocks.
  • the flash configuration plane 11 is instead mapped to a memory mapped input/output (MMIO) portion of the flash memory 10. That is, the flash configuration plane 11 is mapped to a MMIO 12 of the flash memory 10.
  • the MMIO 12 can be any part of the flash memory 10.
  • the MMIO 12 is mapped as a portion of the flash memory blocks. That is, the MMIO 12 is mapped as one or more blocks of the plurality of flash blocks present.
  • the MMIO 12 is allocated as one block of the flash memory 10.
  • the remaining blocks 13 are allocated for normal flash use.
  • the MMIO 12 when the MMIO 12 is included within the flash memory device 10, no additional address lines are required since the address lines for addressing the flash memory blocks 13 can be utilized to access the MMIO 12.
  • the MMIO 12 is mapped to the last block.
  • the MMIO 12 is mapped to the first block. Where the MMIO 12 is mapped is not critical to the practice of the invention, provided the MMIO 12 is mapped to some block other than the boot block at power up. Since the data pertaining to the flash configuration plane is mapped to the specific area designated as the MMIO plane, the MMIO 12 can be mapped as part of the boot up sequence during an initialization or reset procedure, such as power on reset.
  • MMIO 12 Since the MMIO 12 operates with dedicated hardware, including a register set, data can be written to and/or read from the MMIO 12 by utilizing addresses used for the flash memory. The MMIO 12 is thus used to indirectly access the flash memory when executing code for the flash configuration. As will be noted below in reference to Figure 2, specialized registers and a state machine allow for execution of the flash commands to access flash data plane of blocks 13, without requiring the flash data to be loaded into RAM first.
  • the flash memory 20 is equivalent to the flash memory 10 of Figure 1 and includes a plurality of flash memory blocks 21, as well as a portion of the memory allocated for a memory mapped I/O function.
  • the MMIO plane 12 noted in Figure 1 is accessed through the MMIO logic circuit 25 in Figure 2.
  • the portion of the flash memory 20 designated for the boot function is comprised of a single flash memory block 22.
  • the boot block 22 need not be of a single block size and can be actually smaller than a block or be of multiple blocks.
  • the particular example shown uses one flash block for the boot block 22.
  • the boot block 22 has a size of 8K bits.
  • an address signal (shown as ADDR) is coupled into an address latch 23.
  • the address signal once latched is coupled to a x-y block decode logic 24, as well as to the MMIO logic circuit 25.
  • the x-y block decode logic 24 decodes the address signal and provides the x and y decoded signal for addressing the flash memory blocks 21, 22, as well as a block selection signal for selecting a particular block of the flash memory 20.
  • the outputs from the x-y block decode logic 24 are coupled to the flash blocks 21, the boot block 22 and the MMIO logic circuit 25.
  • the data is coupled to units 21, 22 and 25 through a data input latch 30 and data output from device 20 is coupled through a read buffer 31, which also operates as an output latch.
  • a data bus 32 coupled to the various units 21, 22, 25, 30, 31 for data transfer is also coupled to a control logic unit 26 which includes a command user interface (CUI) 27.
  • the command user interface or CUI 27 is utilized to provide user interface to device 20 in which control signals present on control line 33 provide command signals to device 20.
  • a flash command (shown as CNTR in Fig. 2) on line 33 is coupled to the address and data latches 23, 30, 31, decode logic 24 and CUI 27/control logic 26 in order to provide various command instructions to the flash memory device 20.
  • Various command instructions can be written to flash memory 20 on line 33 to command the flash device 20 to perform certain executable instructions, which instructions include those instructions known in the art, such as read, write and erase.
  • the command or control signal is coupled to the CUI 27 to instruct the control logic circuit 26 to generate the necessary control signals for the operation of the various units within flash device 20.
  • the MMIO logic circuit 25 includes a state machine logic 28 and one or more MMIO registers 29. As will be noted below, the MMIO logic unit 25 is selected when the flash device 20 enters a command mode other than a flash read mode.
  • the commands to be written to the flash are decoded by the CUI 27 and the control logic 26 generates corresponding control signals to execute the received command.
  • the configuration plane of the prior art flash devices is one example of the mapping of the configuration code to the RAM for executing commands pertaining to configuration of the device.
  • the mapping of the data to RAM is done so that data can be read while executing a non-flash read command. Otherwise the flash memory would need to be placed in the flash read mode to read data from the flash array.
  • at least one command is utilized to activate the MMIO components within device 20. Utilizing the example in which the configuration plane is mapped, a flash command to enable the MMIO is initiated on the control line 33.
  • a reset signal on control line 33 is received by the CUI 27 and processed by the control logic 26.
  • the reset command to the CUI 27 causes the control logic 26 to generate appropriate control signals to control the MMIO logic 25.
  • An MMIO Enable signal from the control logic 26 shown on line 36 causes the decode logic 24 to generate a MMIO Block Select signal on line 37 to select and enable the MMIO logic 25. That is, the MMIO logic 25 is inserted as the selected block for access by the address signal.
  • the mapping in of the MMIO logic 25 can be achieved by replacing one of the existing flash blocks 21 or it can be a completely separate block.
  • an existing block is replaced by the MMIO logic 25, so that additional address lines are not needed. It is appreciated that since the boot block 22 is needed for booting the flash device 20, the MMIO logic 25 should not be mapped to the address range of the boot block at power up. However, after the boot sequence has been completed, the MMIO logic 25 can be mapped into the address range of the boot block 22, since the boot sequence is no longer needed. [0023] In the example pertaining to the mapping of the configuration plane, a power on reset signal initiated to the flash memory device 20 will cause the control logic 26 to enable the MMIO logic 25 so that the configuration data utilized by the flash device 20 is mapped to the MMIO registers 29.
  • the MMIO logic 25 can be mapped to the last block of the flash memory. Alternatively, in another embodiment the MMIO logic 25 can occupy the upper most block of the flash memory. However, as noted previously, the MMIO logic 25 can be mapped to most any block or blocks within the flash memoiy and not necessarily relegated to the top most or bottom most block or blocks. [0024] Accordingly, at power on reset, the reset control signal to the CUI 27 will cause the boot code in the flash boot block to be read and executed by the processor/controller coupled to the flash device. When the configuration code is to be executed during the boot sequence, the configuration code is accessed. The configuration code is generally included as an application code in the boot block 22 or, alternatively, in one of the other blocks 21.
  • the data is written to the registers 29. Since the MMIO logic 25 is enabled, the configuration parameters can be mapped to the registers 29 by placing the appropriate address on the address line. Similarly, data can be read from the registers 29 as well. Accordingly, any reading of data or writing of data (if a particular register has read/write capability) can be achieved by the use of one or more of the registers 29, which are addressed by the address signal when the MMIO is enabled.
  • FIG. 25 illustrates one example of a power on reset sequence when the MMIO is implemented versus the flash flow of an existing prior art flash device. As shown along the left portion of Figure 3, a prior art flash flow 40 is shown to configure the flash device during an initialization boot routine at power on reset.
  • a power on reset signal is initiated at which point the boot code is executed by the flash device.
  • the boot code causes the flash configuration code to be loaded in the RAM as noted with the prior art technique in the background section above.
  • the processor then jumps to the RAM code to execute the flash configuration and upon completing the flash configuration, the flash device then reverts to the flash read mode to operate on the next application code in flash.
  • the MMIO flash flow 41 of an embodiment of the present invention is shown along the right portion of Figure 3 in which the power on reset signal causes the boot code to be executed. However, since the MMIO logic 25 is selected due to the MMIO enable, the flash configuration can be executed with the MMIO logic 25, without mapping the flash code to RAM.
  • the flash device then continues to the next application code in flash. It is to be noted that at boot up, the MMIO should not be mapped to the same address range as the boot block. However, once the boot process is completed, the MMIO could be mapped to the boot block address range, since the boot block 22 is no longer required once the system has booted.
  • a particular command on the control line 33 causes the MMIO Enable signal to be asserted, placing the MMIO logic 25 into the enabled state. That is, the MMIO enable signal is asserted or deasserted based on a particular command through the CUI 27.
  • the power on reset can also enable the MMIO.
  • the control logic 26 When the MMIO is to be enabled, the control logic 26 generates corresponding MMIO control signals to operate on the state machine logic 28 so data can be operated on in the MMIO logic circuit 25.
  • the registers 29 can be registers specifically designated for use with the MMIO 25 or registers utilized for other functions of the flash which can be switched in to operate as registers 29 of the MMIO logic 25.
  • the implementation of the MMIO logic circuit 25 allows the commands to be executed to access data in the flash blocks without moving the access code to memory. Because the state machine logic 28 and the registers 29 of the MMIO logic circuit 25 are switched into operate with designated instructions, registers 29 can provide read and/or write operations to directly access flash features, such as for configuration.
  • a register (or register bit) can be assigned to each flash block of the memory and in which the register value designates if the particular block is in a locked or unlocked condition.
  • Other features or configurations include accessing the registers for security and/or device identification (which may include configuration features such as flash memory stepping voltages and other circuit parameters pertaining to the particular flash device). These various features, as well as others not listed here, can be configured in designated registers 29, so that the contents can be written/read for use configuring the flash. Therefore, the various data pertaining to features of the flash device, such as configuration information, are made available in the MMIO 25.
  • the MMIO logic 25 of the present invention allows other functions to be performed. For example; interrupts can be handled by a handler instead of requiring the interrupt to be disabled.
  • the problem associated with the interrupt handler is similar to that with the mapping of the configuration plane. That is, when writing to or erasing the flash memory, a particular flash status cannot be determined at the same time the flash has received the interrupt. Accordingly, flash status pertaining to the use of the flash memory cannot be determined without changing over to a status read mode.
  • the prior art flash flow 42 for handling an interrupt vector is shown.
  • the flash command is written to switch to the status mode. Then the status is read. If the status notes that it is not busy (the flash is not currently in use), then the flash is written again to place it in the flash read mode. Once the interrupt vector is read to be not busy, then the interrupt service routine is called and the interrupt is handled. [0032] With an implementation of an embodiment of the MMIO, the two write steps (to switch to the status mode and then back to the read mode) are not required, since the status information can be placed into one of the MMIO registers 29 and read when an interrupt vector is noted.
  • the alternate status register notes that the flash is busy, then the flash memory is suspended first before handling the interrupt.
  • the alternate status register as one of the registers 29 in the MMIO logic 25, its content can be read to determine the status of the register without writing the flash to the status mode and writing to it again to return it to the flash read mode.
  • the above described aspect of the present invention provides a capability of manipulating registers 29 in the MMIO and also executing higher level commands through the CUI 27.
  • the flash memory needed to be written to in order to change command modes.
  • a command was required to switch the flash out of the flash read mode to one of the other modes and a second command (flash read command) was needed to return the flash to the flash read mode. It could operate in the flash read mode or one of the other modes, but not both simultaneously.
  • the flash data was not accessible when the flash memory device was placed in a mode other than the flash read mode.
  • flash memory such as RAM
  • flash data can be manipulated in the registers 29 and also, higher level commands can now be executed, allowing for the flash memory data to be read while the flash executes a non-flash read command.
  • read/write registers 29 in the MMIO logic 25 the flash memory device 20 can support sophisticated new commands via the MMIO plane. Some of these commands are noted in Figure 5. These commands are shown for exemplary purpose and not to limit the extent of the commands available through the MMIO.
  • Figure 5 identifies a number of specialized registers which are utilized to allow various commands to be executed, including higher level commands.
  • the byte size noted with these registers are also again presented for exemplary purpose and could incorporate more or less bytes.
  • the alternate status register has already been described in reference to the interrupt handling in that the alternate status register notes if the flash is busy or not busy. [0036] In reference to the table in Figure 5:
  • the alternate status register is used for executing write, next and copy commands.
  • the value in the register identifies one status of the flash.
  • a write address register is used to hold the destination of the flash address for write and copy operations.
  • the write next register is utilized to program data to write address, update status and increment the address in the write address register.
  • a write hold register is used to program data to the write address and update the status of the status register.
  • a read address register is used to hold the source flash address for performing read next and copy commands.
  • a read next register is used in which the data is read at the read address and the read address is incremented thereafter.
  • a copy register is used to copy a length of bytes from the read address to a write address.
  • a copy command is defined as a command that would copy a specific number of bytes from a source address to a destination address.
  • a length register holds the byte length for performing the copy operation.
  • a find register is used to initiate the find command.
  • the find command is defined as a command that searches for a specific data image beginning at a specified address.
  • the command could be operative either on a block level or at the device level. It is to be noted that a suspend/resume capability will more than likely be required should both the copy and find commands need to be interrupted.
  • a start address register identifies the flash address where the find of the find command begins. Instead of a separate start address, the read address register could be implemented as the start address register.
  • An image register holds the value to find during the find operation.
  • An image mask register is used to define the bit field mask of the image to find.
  • Each bit within the image mask register acts as a mask to the equivalent bit in the image register. Any bits masked would not be compared during the find operation. For example, if image bits are 1011 and image mask bits are 0001, the pattern to be found is lOlx, where x can be either 0 or 1.
  • An increment register is used to identify the byte boundaries to search during a find operation.
  • An end address register is used to define the end address for performing the find operation.
  • a stop value register contains the value which if found during the search terminates the find operation.
  • An instance count register to define the instance of the image to find.
  • a ready status register to indicate if the write or copy command has been completed. Bit masking to test a bit is not necessary, since status of the bit can be represented in a status register.
  • An error status register to indicate when a write or copy command had an error during its operation.
  • a write state machine (WSM) state register to return the current WSM state.
  • the WSM state may be paused if a WSM state command is executed. It is generally known that a write state machine of a flash memory is an internal state machine which does writes and performs erases of the flash blocks. A write operation releases the WSM if the WSM state machine is paused during the execution of the WSM state command.
  • the various registers can be read/written to provide values for use with various operations, as noted.
  • the Find and Copy commands are higher level commands, which when received by the CUI would operate on the flash based on the values present in the corresponding registers noted above.
  • various commands which would utilize these registers include alternate status read command, write command, write next command, write hold command, read command, read next command, copy command, find command, read ready status command, read error status command, and read/write WSM state command.
  • various registers corresponding to that command are accessed to read/write data to define the parameters pertaining to that command.
  • registers When registers are present for a specific parameter values can be stored in the registers to perform the particular command.
  • the registers can be accessed by the address signals when the MMIO is enabled and/or dedicated to a particular command.
  • the read address register contains the address where the data is to be read while the write address register contains the write address where the data is to be written.
  • the length register contains the byte length of the data which is to be copied starting at the read address. Accordingly, when the Copy command is received by the CUI, the appropriate registers are accessed so that a given length of data from one portion of the flash memory can be copied to another location of the flash memory. Without the presence of these MMIO registers 29, the higher level commands to the CUI would necessarily need to include this information.
  • the utilization of the MMIO logic circuit 25 allows various commands, including higher level commands, to be executed by the flash memory device 20 without containing those parameters in the command instruction itself, since those parameters can be stored in the MMIO registers 29. Furthermore, the parameters can be readily changed for a given command simply by changing the parameter values in the corresponding registers 29.
  • the flash memory device of the present invention can be utilized in a variety of different capacities.
  • One figure is shown in Figure 5 in which the flash memory device 20 is coupled to a processor (or controller) 50.
  • the processor controls the operation of the flash memory 20 as well as utilizing the data present in the flash memory 20.
  • the processor 50 along with the flash memory device 20 is coupled to other devices here shown as input/output (I/O), to exemplify a system in which the processor 50 and flash memory 20 are utilized.
  • I/O input/output
  • the processor 50 and flash memory 20 are utilized in a cell phone in which the flash memory can store various information and programs typically used in a cell phone.
  • the input operation includes various features, such as the inputting of telephone numbers and displaying the stored numbers when prompted by the phone user.
  • the processor When the cell phone is initially activated the processor will boot the flash 20 and also to configure the flash memory 20 pursuant to its configuration code. With the MMIO, the configuration operation can be performed without continually writing to the flash to switch modes. If interrupt handling is desired by the flash, then the interrupt handling sequence as described above can be implemented within the flash memory 20. Furthermore, if sophisticated higher level commands are desired (for example, those commands referenced in Figure 5) then the flash memory can readily incorporate registers to store various parameters required for usage with those commands. It is appreciated that a variety of other systems, configurations and uses can be devised in order to utilize the flash memory device 20 incorporating the present invention.
  • the flash device incorporating the invention need not necessarily switch between modes to access flash data while performing another function, performance and speed is improved. Due to the presence of the MMIO components, including the MMIO registers to hold various parameters needed to identify features of the flash device, real-time flash access to flash memory features can be obtained by accessing the registers of the MMIO logic.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Cette invention concerne une mémoire flash dans laquelle une unité entrée-sortie à topographie mémoire est utilisée pour accéder à des données de mémoire flash lorsque d'une condition flash particulière est remplie, laquelle condition n'est pas une instruction de commande de lecture flash indiquant de lire la mémoire flash. Une logique de commande est utilisée pour accéder à l'unité entrée-sortie à topographie mémoire afin de répondre à la condition flash particulière lorsque la condition est remplie. L'unité entrée-sortie à topographie mémoire permet d'accéder en temps réel aux données flash sans que l'écriture d'une commande de lecture sur la mémoire flash soit nécessaire.
PCT/US2002/022516 2001-03-23 2002-02-14 Procede et appareil servant a fournir un acces en temps reel a des fonctions de memoire flash WO2002095592A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002339892A AU2002339892A1 (en) 2001-03-23 2002-02-14 Method and apparatus to provide real-time access to flash memory features

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/815,767 US6549482B2 (en) 2001-03-23 2001-03-23 Method and apparatus to provide real-time access to flash memory features
US09/815,767 2001-03-23

Publications (2)

Publication Number Publication Date
WO2002095592A2 true WO2002095592A2 (fr) 2002-11-28
WO2002095592A3 WO2002095592A3 (fr) 2003-02-27

Family

ID=25218774

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/022516 WO2002095592A2 (fr) 2001-03-23 2002-02-14 Procede et appareil servant a fournir un acces en temps reel a des fonctions de memoire flash

Country Status (4)

Country Link
US (1) US6549482B2 (fr)
AU (1) AU2002339892A1 (fr)
TW (1) TW567412B (fr)
WO (1) WO2002095592A2 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386653B2 (en) * 2001-08-06 2008-06-10 Sandisk Il Ltd Flash memory arrangement
KR100532442B1 (ko) * 2003-06-17 2005-11-30 삼성전자주식회사 데이터 처리방법 및 데이터 처리장치
US7281082B1 (en) * 2004-03-26 2007-10-09 Xilinx, Inc. Flexible scheme for configuring programmable semiconductor devices using or loading programs from SPI-based serial flash memories that support multiple SPI flash vendors and device families
ITMI20050799A1 (it) 2005-05-03 2006-11-04 Atmel Corp Metodo e sistema di configurazione dei parametri per una memoria flash
US20130268726A1 (en) * 2011-07-01 2013-10-10 Xin Guo Dual Mode Write Non-Volatile Memory System
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
CN105159778B (zh) * 2015-08-07 2019-08-02 上海斐讯数据通信技术有限公司 改善Optware环境下IPkg程序的I/O读写速度的方法
KR20210144180A (ko) * 2020-05-21 2021-11-30 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546561A (en) * 1991-02-11 1996-08-13 Intel Corporation Circuitry and method for selectively protecting the integrity of data stored within a range of addresses within a non-volatile semiconductor memory
US6031757A (en) * 1996-11-22 2000-02-29 Macronix International Co., Ltd. Write protected, non-volatile memory device with user programmable sector lock capability
US6307779B1 (en) * 2000-07-28 2001-10-23 Micron Technology, Inc. Method and circuitry for bank tracking in write command sequence

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BURSKY D: "FLASH-MEMORY INTERFACES SIMPLIFY SYSTEMS" ELECTRONIC DESIGN, PENTON PUBLISHING, CLEVELAND, OH, US, vol. 42, no. 23, 7 November 1994 (1994-11-07), pages 168-171, XP000477166 ISSN: 0013-4872 *
STAUDINGER T: "FLASH EPROM CONTROLLER SAB 88C166 SETS NEW STANDARDS FOR REAL-TIME APPLICATIONS" COMPONENTS, SIEMENS AKTIENGESELLSCHAFT. MUNCHEN, DE, vol. 28, no. 4, 1 September 1993 (1993-09-01), pages 15-17, XP000415962 ISSN: 0945-1137 *

Also Published As

Publication number Publication date
AU2002339892A1 (en) 2002-12-03
TW567412B (en) 2003-12-21
WO2002095592A3 (fr) 2003-02-27
US6549482B2 (en) 2003-04-15
US20020136078A1 (en) 2002-09-26

Similar Documents

Publication Publication Date Title
US7093064B2 (en) Programming suspend status indicator for flash memory
US5371876A (en) Computer system with a paged non-volatile memory
US5829013A (en) Memory manager to allow non-volatile memory to be used to supplement main memory
US5559988A (en) Method and circuitry for queuing snooping, prioritizing and suspending commands
US5519847A (en) Method of pipelining sequential writes in a flash memory
EP1739683B1 (fr) Gestion de l'espace pour la gestion de la mémoire non volatile de haute capacité
JP3827736B2 (ja) 外部ラッチを持たないフラッシュメモリレベリングアーキテクチャ
US6201739B1 (en) Nonvolatile writeable memory with preemption pin
US6148441A (en) Method for reprogramming flash ROM in a personal computer implementing an EISA bus system
EP1729304B1 (fr) Gestion de l'espace pour la gestion de la mémoire non volatile de haute capacité
EP0991081B1 (fr) Mémoire EEPROM simulée et procédé correspondant
US7210012B2 (en) Write-protection blocks for non-volatile semiconductor memory device
US5809541A (en) Methods for prioritizing erase and program commands in a nonvolatile semiconductor memory device
EP0931289A4 (fr) Memoire non volatile enregistrable a fonction de suspension de programme
US6937513B1 (en) Integrated NAND and nor-type flash memory device and method of using the same
US6189070B1 (en) Apparatus and method for suspending operation to read code in a nonvolatile writable semiconductor memory
KR100604877B1 (ko) 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
EP1345236A1 (fr) Dispositif de mémoire non-volatile
JPH10161988A (ja) フラッシュeeprom内蔵マイクロコンピュータ
KR20090021508A (ko) 멀티-비트 및 싱글-비트 방식으로 데이터를 저장하는플래시 메모리 장치 및 그것의 프로그램 방법
US6549482B2 (en) Method and apparatus to provide real-time access to flash memory features
US6922362B2 (en) Structure for updating a block of memory cells in a flash memory device with erase and program operation reduction
KR100823169B1 (ko) 향상된 동작 특성을 갖는 플래시 메모리 시스템 및 그것의액세스 방법
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
US6662279B2 (en) DQ mask to force internal data to mask external data in a flash memory

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP