WO2010000101A1 - 用于嵌入式系统扩展存储空间的装置和方法 - Google Patents

用于嵌入式系统扩展存储空间的装置和方法 Download PDF

Info

Publication number
WO2010000101A1
WO2010000101A1 PCT/CN2008/001894 CN2008001894W WO2010000101A1 WO 2010000101 A1 WO2010000101 A1 WO 2010000101A1 CN 2008001894 W CN2008001894 W CN 2008001894W WO 2010000101 A1 WO2010000101 A1 WO 2010000101A1
Authority
WO
WIPO (PCT)
Prior art keywords
nandflash
program
data
address
memory
Prior art date
Application number
PCT/CN2008/001894
Other languages
English (en)
French (fr)
Inventor
彭波
Original Assignee
深圳市中兴集成电路设计有限责任公司
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 深圳市中兴集成电路设计有限责任公司 filed Critical 深圳市中兴集成电路设计有限责任公司
Publication of WO2010000101A1 publication Critical patent/WO2010000101A1/zh

Links

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating

Definitions

  • the present invention relates to program control apparatus in the field of electrical digital data processing, and more particularly to apparatus for performing specialized procedures and accessing, addressing or allocating within a memory system or architecture, and more particularly to extending storage space for embedded systems Devices and methods. Background technique
  • the prior art embedded system generally uses flash memory as a storage medium for system programs and data, and the flash memory includes NorFlash (or non-gate flash memory) and NandFlash (NAND flash memory). Because NorFlash has the characteristics of linear addressing, the system microprocessor can directly execute the program stored in it. Therefore, most embedded systems use NorFlash as the storage carrier of the system program, but NorFlash has higher unit price and low capacity density. Therefore, in the case of a relatively large system program capacity, the storage cost of the system will be relatively high. Compared with NorFlash, NandFlash can provide higher density storage area and provide the same size storage area at a lower cost. Therefore, using NandFlash to expand program storage space has attracted more and more attention from technicians.
  • NorFlash or non-gate flash memory
  • NandFlash NAND flash memory
  • NandFlash is limited by the production process, and its storage space has the characteristics of block addressing. Its storage space must be erased and programmed for the data block before use. It is effective for reading the block during reading, single-byte reading. Efficiency is rapidly reduced, so it is not suitable for direct use as a program storage area, and you need to find a suitable method to solve this problem.
  • Chinese patent 200610063321.1 discloses a method for storing and starting a system program by using NandFlash flash memory.
  • the core of the method is to load the program in NandFlash directly into the system static random access memory (SRAM) by using the loading mechanism.
  • SRAM system static random access memory
  • the CPU is notified by the reset signal to execute the program in the SRAM
  • another Chinese patent 200410046013.9 discloses a slightly different method for guiding the user program based on NandFlash, and the core of the method is prior to the previous one.
  • the patent allows the system CPU to load the program from NandFlash into the static random access memory SRAM and execute it.
  • the difference from the Chinese patent 200610063321.1 is that the method provides a package format in a predetermined format, and the program to be loaded is packaged in a predetermined format.
  • the above method of executing the program uses a loading mechanism to load the program stored in the NandFlash into the SRAM, and the system finally executes the program in the SRAM.
  • Such a program execution method can improve the efficiency of the program execution, but there are also many inconveniences. Due to the limited capacity of the SRAM, the program must consider the loading problem when designing. Due to the limitation of the SRAM capacity, the program space should not be too large, otherwise the program will be out of bounds and other problems, resulting in system instability.
  • Yet another Chinese patent 200610076006.2 adopts a method of cache multi-segment loading and segmentation execution, which alleviates the problem that the system program is limited by the SRAM loading capacity, but must execute multiple times of segment loading and segmentation when executing the program.
  • the program can only be executed sequentially, and the functions implemented are relatively simple.
  • the technical problem to be solved by the present invention is to avoid the above-mentioned deficiencies of the prior art and to propose an apparatus and method for expanding storage space in an embedded system.
  • the present invention provides an apparatus and method for expanding a system storage space using a NandFlash memory card.
  • the core of the apparatus and method is a cache memory Cache mechanism specially designed for a NandFlash memory card, and a program address space in a NandFlash memory card.
  • the system can directly execute the NandFlash memory card program buffered in the cache memory cache according to the program address obtained by the mapping, and the program does not need to be preloaded into the SARM, and is not limited by the sequential execution.
  • the bursting process of the program is flexible, and the secondary development and program re-downloading updates are very convenient.
  • An apparatus for expanding storage space in an embedded system comprising a CPU, a linear address memory, and a static random access memory (SRAM); the CPU is interconnected with a linear address memory and a static random access memory (SRAM) via a bus; in particular, a cache memory is further included Cache, NandFlash controller and NandFlash memory card, the cache memory cache exchanges data with the CPU through the microprocessor address/data interface; the cache memory cache exchanges data with the NandFlash controller through the NandFlash chip interface, the NandFlash The controller exchanges data with the NandFlash memory card through the bus;
  • the device reads out the program stored in the NandFlash memory card under the control of the configuration program in the linear address memory, and finally realizes the expansion of the storage space of the embedded system.
  • the configuration program is a program required to start and run the system initial configuration program, the cache memory Cache configuration program, and the NandFlash controller configuration program system.
  • the cache memory Cache includes a CPU interface, a buffer, an address index area, a control logic module, and a NandFlash controller interface;
  • the CPU interface is connected to the buffer through the buffer data path, and is connected to the CPU through a microprocessor address/data interface, where the microprocessor address/data interface includes an address interface and a data connection P;
  • the NandFlash controller interface is connected to the buffer through the buffer data path, and is connected to the NandFlash controller through the NandFlash chip interface.
  • the NandFlash chip interface includes a FIFO bus, which includes a NandFlash control line and a data control line.
  • the microprocessor address/data interface matches the selected CPU model, including 8 bits, 16 bits or
  • a 32-bit wide bus includes an 8-bit, 16-bit or 32-bit wide bus.
  • the buffer is logically divided into a plurality of blocks, and a single block size matches the block size of the NandFlash memory card, and each block can buffer a single block of data in the NandFlash memory card.
  • the buffer has an address mapping function, which can directly map the program address space of the NandFlash memory card to the program address space of the system, so as to facilitate the system to read the program in the NandFlash memory card.
  • the buffer inside the cache memory Cache has an address index function, and data that has been buffered into the buffer has a corresponding address index in the address index area.
  • the present invention solves the technical problem, and can further implement the following technical solutions, and the method for expanding storage space of an embedded system, based on the foregoing extended storage space for an embedded system
  • the device in particular, the method comprises the steps of:
  • the system is powered on, and the program address space in the NandFlash memory card is directly mapped into the program address space of the system;
  • the cache memory Cache reads the system program pointer
  • the control logic module determines whether the read system program pointer is in the address index area
  • step C if the judgment result is "Yes", the data pointed to by the program pointer is directly read from the buffer, and the data is returned to the system;
  • step C if the judgment result is "No", that is, the read system program pointer is not in the address index area, the NandFIash controller is notified to read the data pointed to by the program pointer in the NandFlash memory card, and the data is directly returned.
  • the buffer add the program pointer to the address index area, and then read the corresponding data in the buffer according to the system program pointer read in step B.
  • the NandFlash controller can read one piece or read data in multiple pieces of the NandFlash memory card when reading data from the NandFlash memory card, during the reading process. , the system is in a wait state.
  • the cache memory Cache has a function of judging whether or not a plurality of pieces of data have been read when reading a plurality of pieces of data from the NandFlash memory card.
  • the system CPU can directly execute the program in the NandFlash memory card, and the program does not need to be preloaded;
  • FIG. 1 is a schematic structural diagram of an apparatus for expanding storage space of an embedded system according to the present invention
  • FIG. 2 is a flow chart of a method for extending an extended storage space of an embedded system according to the present invention
  • FIG. 3 is a logical structural diagram of a cache memory Cache of the apparatus of the present invention. detailed description
  • the apparatus 10 for expanding storage space of an embedded system of the present invention includes a CPU 11, a linear address memory 12, and a static random access memory SRAM 14; It is not interconnected with the linear address memory 12 and the static random access memory SRAM 14; in particular, it also includes a cache memory Cachel3, a NandFlash controller 15 and a NandFlash memory card 16, which through the microprocessor address/data interface 17 and the CPU 11 implements data exchange; the cache memory Cache 13 implements data exchange with the NandFlash controller 15 through the NandFlash chip interface 18, and the NandFlash controller 15 implements data exchange with the NandFlash memory card 16 through the bus; Under the control of the configuration program in the linear address memory 12, the program stored in the NandFlash memory card 16 is read out, and finally the expansion of the storage space of the embedded system is realized.
  • the configuration program is a program required to start and run the system including the system initial configuration program, the cache memory Cache 13 configuration program, and the NandFlash controller 15 configuration program.
  • the cache memory Cache 13 includes a CPU interface 131 and a buffer.
  • the NandFlash controller interface 135 is connected to the buffer 132 through the buffer data path 130, and is connected to the NandFlash controller 15 through the NandFlash chip interface 18.
  • the NandFlash chip interface 18 includes a FIFO bus including a NandFlash control line 138 and a data control line 139.
  • the microprocessor address/data interface 17 matches the selected CPU 11 model and includes an 8-bit, 16-bit or 32-bit wide bus; the buffer data path 130 includes an 8-bit, 16-bit or 32-bit wide bus.
  • the buffer 132 is logically divided into a plurality of blocks, and a single block size matches the block size of the NandFlash memory card 16, and each block can buffer a single block of data in the NandFlash memory card 16.
  • the buffer 132 has an address mapping function, which can directly map the program address space in the NandFlash memory card 16 to the program address space of the system, so as to facilitate the system to read the program in the NandFlash memory card 16. .
  • the buffer 132 inside the cache memory Cachel3 has an address indexing function, and the data that has been buffered into the buffer 132 has a corresponding address index in the address index area 133.
  • the method for extending the storage space of the embedded system according to the present invention includes:
  • the system is powered on, and the program address space in the NandFlash memory card 16 is directly mapped to the system.
  • the program address space In the program address space;
  • cache memory Cache 13 reads the system program pointer
  • the control logic module 134 determines whether the read system program pointer is in the address index area 133;
  • step C if the judgment result is "Yes", the data pointed to by the program pointer is directly read from the buffer 132, and the data is returned to the system;
  • step C if the result of the determination is "NO", that is, the read system program pointer is not in the address index area 133, the NandFlash controller 15 is notified to read the data pointed to by the program pointer in the NandFlash memory card 16, and The data is directly returned to the buffer 132, while the program pointer is added to the address index area 133, and then the corresponding data in the buffer 132 is read according to the system program pointer read in step B.
  • Step 208 At this point, a process of reading the program from the NandFlash memory card 16 is completed.
  • the NandFlash controller 15 can read one piece of data or read data of a plurality of NandFlash memory cards 16 simultaneously when reading data from the NandFlash memory card 16.
  • the system is in a wait state during the reading process.
  • the cache memory Cache 13 has a function of judging whether or not a plurality of pieces of data have been read when reading a plurality of pieces of data from the NandFlash memory card 16.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

用于嵌入式系统扩展存储空间的装置和方法
技术领域
本发明涉及电数字数据处理领域中的程序控制装置,特别涉及用以执行专门 程序以及在存储器系统或体系结构内的存取、寻址或分配的装置, 尤其涉及用于 嵌入式系统扩展存储空间的装置和方法。 背景技术
现有技术的嵌入式系统普遍采用闪存记忆体作为系统程序和数据的存储 载体, 闪存记忆体包括 NorFlash (或非门闪存记忆体) 和 NandFlash (与非门闪 存记忆体)。 由于 NorFlash具有线性寻址的特性, 系统微处理器可以直接执行存 储在其中的程序, 因此, 大部分嵌入式系统都采用了 NorFlash作为系统程序的 存储载体, 但是 NorFlash单价比较高, 容量密度低, 因此, 在系统程序容量比 较大的情况下, 系统的存储成本也会相对比较高。 相比于 NorFlash, NandFlash 能够提供更高密度的存储区, 提供相同大小的存储区域成本更低, 因此采用 NandFlash来扩展程序存储空间受到技术人员越来越多的关注。 NandFlash受生 产工艺限制, 其存储空间具有块寻址的特性, 其存储空间在使用前必须针对数 据块进行擦除和编程, 在读取时针对块的读取比较有效, 单字节的读取效率则 迅速降低, 因此不适合直接用作程序存储区, 需要寻找合适的方法解决这个问 题。
中国专利 200610063321.1公开了一种利用 NandFlash闪存记忆体存储及启 动系统程序的方法, 该方法的核心是釆用装载的机制, 直接把 NandFlash中程序 装载到系统静态随机存取内存 SRAM ( Static Random Access Memory) 中, 装载 完毕后, 由复位信号通知 CPU 执行 SRAM 中程序; 此前有另一中国专利 200410046013.9 公开了一种略有不同的基于 NandFlash 实现用户程序引导的方 法, 该方法的核心是先于前一专利就让系统 CPU把程序从 NandFlash装载到静 态随机存取内存 SRAM中, 然后执行。 与中国专利 200610063321.1不同的地方 是, 该方法提供了一种预定格式的封装形式, 将需要装载的程序按照预定的格 式进行封装。 上述执行程序的方法都采用了装载机制, 将存放在 NandFlash 中的程序装 载到 SRAM中, 系统最终执行在 SRAM中的程序, 这样的程序执行方法能够提 高程序执行的效率, 但是也存在许多不便, 由于 SRAM的容量有限, 程序在设 计的时候就必须考虑装载的问题, 由于受到 SRAM容量的限制, 程序空间不能 太大, 否则会产生程序越界等问题, 从而导致系统的不稳定。
再一中国专利 200610076006.2采用了高速缓存多次分段装载、 分段执行的 方法, 缓解了系统程序受 SRAM装载容量限制的问题, 但在执行程序时必须是 高速缓存多次分段装载和分段执行的形式, 程序只能顺序执行, 所实现的功能 就比较单一。
随着嵌入式系统越来越复杂, 系统所需要的程序不仅空间越来越大, 功能 也越来越复杂, 同时, 为了支持客户进行二次开发, 系统还需要支持用户重新 下载程序和更新程序的功能, 对程序幵发作太多的限制, 会严重影响系统的功 能和产品的市场推广过程。
上述现有技术扩展系统程序空间的方法存在以下不足:
1、 通过程序装载的方法, 系统程序空间会受到 SRAM的容量大小限制, 不 方便系统程序的扩展;
2、釆用高速缓存多次分段装载和分段执行程序的方法,程序只能顺序执行, 所实现的功能比较单一。 发明内容
本发明要解决的技术问题在于避免上述现有技术的不足之处而提出一种 用于嵌入式系统扩展存储空间的装置和方法。
本发明提供了一种使用 NandFlash存储卡扩展系统存储空间的装置和方法, 该装置和方法的核心是采用一种针对 NandFlash 存储卡特殊设计的高速缓存存 储器 Cache机制,将 NandFlash存储卡中程序地址空间直接映射到系统的程序空 间中去, 系统可以根据映射得到的程序地址直接执行在缓冲在高速缓存存储器 Cache中的 NandFlash存储卡程序, 程序无须预先装载到 SARM中, 也不受顺序 执行的限制, 程序的幵发过程灵活多变, 二次开发和程序重新下载更新都非常 方便。
本发明解决所述技术问题可以通过釆用以下技术方案来实现: 提供一种用 于嵌入式系统扩展存储空间的装置, 包括 CPU、 线性寻址存储器和静态随机存 储器 SRAM; 所述 CPU 通过总线分别与线性寻址存储器以及静态随机存储器 SRAM 互连; 尤其是, 还包括高速缓存存储器 Cache、 NandFlash 控制器和 NandFlash存储卡,该高速缓存存储器 Cache通过微处理器地址 /数据接口与 CPU 实现数据交换; 所述高速缓存存储器 Cache 通过 NandFlash 芯片接口与 NandFlash控制器实现数据交换, 所述 NandFlash控制器通过总线与 NandFlash 存储卡实现数据交换;
所述装置在线性寻址存储器内配置程序的控制下, 读出存储在 NandFlash 存储卡内的程序, 最终实现嵌入式系统存储空间的扩展。
所述配置程序是包括系统初始配置程序、 高速缓存存储器 Cache配置程序 和 NandFlash控制器配置程序系统启动和运行所需的程序。
所述高速缓存存储器 Cache包括 CPU接口、 缓冲区、 地址索引区、 控制逻 辑模块和 NandFlash控制器接口;
所述 CPU 接口通过缓冲区数据通路与缓冲区连接, 通过微处理器地址 /数 据接口与 CPU 进行连接, 所述微处理器地址 /数据接口包括地址接口和数据接 P ;
所述 NandFlash 控制器接口通过缓冲区数据通路与缓冲区连接,通过 NandFlash芯片接口与 NandFlash控制器连接,所述 NandFlash芯片接口包括 FIFO 总线, 其内包括 NandFlash控制线和数据控制线。
所述微处理器地址 /数据接口与所选择 CPU型号匹配, 包括 8位、 16位或
32位宽度的总线; 所述缓冲区数据通路包括 8位、 16位或 32位宽度的总线。
所述缓冲区在逻辑上被划分成多个区块, 单个区块大小与 NandFlash存储 卡的块大小匹配, 每个区块可以缓冲 NandFlash存储卡中的单块数据。
所述缓冲区具有地址映射功能, 能将 NandFlash存储卡中程序地址空间直 接映射到系统的程序地址空间中去,以方便系统对 NandFlash存储卡中程序的读 取。
所述高速缓存存储器 Cache 内部的缓冲区具备地址索引功能, 已经缓冲到 缓冲区内的数据在地址索引区中有对应的地址索引。
本发明解决所述的技术问题, 还可以进一步采用以下技术方案来实现, 用 于嵌入式系统扩展存储空间的方法, 基于上述的用于嵌入式系统扩展存储空间 的装置, 尤其是, 所述方法包括步骤:
A、 系统上电启动, 并将 NandFlash存储卡中程序地址空间直接映射到系统的程 序地址空间中;
B、 高速缓存存储器 Cache读取系统程序指针;
C、 控制逻辑模块判断所读取的系统程序指针是否在地址索引区内;
D、 上述步骤 C中, 如果判断结果为"是", 则从缓冲区内直接读取该程序指针指 向的数据, 并将数据返回给系统;
E、 步骤 C中, 如果判断结果为"否", 即所读取的系统程序指针不在地址索引区 内, 则通知 NandFIash控制器读取 NandFlash存储卡内程序指针指向的数据, 并将数据直接返回给缓冲区, 同时将程序指针添加到地址索引区内, 然后根 据步骤 B中所读取的系统程序指针读取缓冲区中对应的数据。
通过改变所述线性寻址存储器内的相关配置程序, 所述 NandFlash控制器从 NandFlash存储卡中读取数据时可以读取一块或同时读取多块 NandFlash存储卡 中的数据, 在读取过程中, 系统处于等待状态。
高速缓存存储器 Cache在从 NandFlash存储卡读取多块数据时, 具有判断多 块数据是否读取完毕的功能。
同现有技术相比较, 本发明的有益效果在于: .
1、 系统 CPU可以直接执行 NandFlash存储卡中的程序,程序无须预先装载;
2、 也不受顺序执行的限制, 程序的开发过程灵活多变, 二次开发和程序重 新下载更新都非常方便。 附图说明
图 1是本发明用于嵌入式系统扩展存储空间的装置结构示意图;
图 2是本发明用于嵌入式系统扩展存储空间的方法工作流程图;
图 3是本发明所述装置之高速缓存存储器 Cache的逻辑结构图。 具体实施方式
以下结合附图所示之最佳实施例作进一步详述。
本发明之用于嵌入式系统扩展存储空间的装置 10, 如图 1所示, 包括 CPU 11、 线性寻址存储器 12和静态随机存储器 SRAM 14; 所述 CPU 11通过总线分 别与线性寻址存储器 12以及静态随机存储器 SRAM 14互连; 尤其是, 还包括 高速缓存存储器 Cachel3、 NandFlash控制器 15和 NandFlash存储卡 16, 该高速 缓存存储器 Cache 13通过微处理器地址 /数据接口 17与 CPU 11实现数据交换; 所述高速缓存存储器 Cache 13通过 NandFlash芯片接口 18与 NandFlash控制器 15 实现数据交换, 所述 NandFlash控制器 15通过总线与 NandFlash存储卡 16 实现数据交换; 所述装置 10在线性寻址存储器 12 内配置程序的控制下, 读出 存储在 NandFlash存储卡 16内的程序, 最终实现嵌入式系统存储空间的扩展。
所述配置程序是包括系统初始配置程序、 髙速缓存存储器 Cache 13配置程 序和 NandFlash控制器 15配置程序的系统启动和运行所需的程序。
如图 3所示, 所述高速缓存存储器 Cache 13包括 CPU接口 131、 缓冲区
132、 地址索引区 133、 控制逻辑模块 134和 NandFlash控制器接口 135 ; 所述 CPU接口 131通过缓冲区数据通路 130与缓冲区 132连接, 通过微处理器地址 / 数据接口 17与 CPU 11进行连接,所述微处理器地址 /数据接口 17包括地址接口 136和数据接口 137; 所述 NandFlash控制器接口 135通过缓冲区数据通路 130 与缓冲区 132连接,通过 NandFlash芯片接口 18与 NandFlash控制器 15连接, 所述 NandFlash芯片接口 18包括 FIFO总线, 其内包括 NandFlash控制线 138 和数据控制线 139。
所述微处理器地址 /数据接口 17与所选择 CPU11型号匹配, 包括 8位、 16 位或 32位宽度的总线; 所述缓冲区数据通路 130包括 8位、 16位或 32位宽度 的总线。
所述缓冲区 132 在逻辑上被划分成多个区块, 单个区块大小与 NandFlash 存储卡 16的块大小匹配,每个区块可以缓冲 NandFlash存储卡 16中的单块数据。
如图 3所示, 所述缓冲区 132具有地址映射功能, 能将 NandFlash存储卡 16 中程序地址空间直接映射到系统的程序地址空间中去, 以方便系统对 NandFlash存储卡 16中程序的读取。
所述高速缓存存储器 Cachel3内部的缓冲区 132具备地址索引功能, 已经 缓冲到缓冲区 132内的数据在地址索引区 133中有对应的地址索引。
本发明用于嵌入式系统扩展存储空间的方法, 基于上述用于嵌入式系统扩 展存储空间的装置, 如图 2所示, 包括:
A、 系统上电启动, 并将 NandFlash存储卡 16中程序地址空间直接映射到系统 的程序地址空间中;
B、 高速缓存存储器 Cache 13读取系统程序指针;
C、 控制逻辑模块 134判断所读取的系统程序指针是否在地址索引区 133内;
D、 上述步骤 C中, 如果判断结果为"是", 则从缓冲区 132内直接读取该程序指 针指向的数据, 并将数据返回给系统;
E、 步骤 C中, 如果判断结果为"否", 即所读取的系统程序指针不在地址索引区 133内,则通知 NandFlash控制器 15读取 NandFlash存储卡 16内程序指针指 向的数据, 并将数据直接返回给缓冲区 132, 同时将程序指针添加到地址索 引区 133内, 然后根据步骤 B中所读取的系统程序指针读取缓冲区 132中对 应的数据。
F、 步骤 208 , 至此, 完成一个从 NandFlash存储卡 16读取程序的过程。
通过改变所述线性寻址存储器 12内的相关配置程序, 所述 NandFlash控制 器 15 从 NandFlash 存储卡 16 中读取数据时可以读取一块或同时读取多块 NandFlash存储卡 16中的数据, 在读取过程中, 系统处于等待状态。
高速缓存存储器 Cache 13在从 NandFlash存储卡 16读取多块数据时, 具有 判断多块数据是否读取完毕的功能。
上述实现过程为本发明的优先实现过程,本领域的技术人员在本发明的基础 上进行的通常变化和替换包含在本发明的保护范围之内。

Claims

1、 用于嵌入式系统扩展存储空间的装置 (10), 包括 CPU (11)、 线性寻址 存储器 (12) 和静态随机存储器 SRAM (14); 所述 CPU (11) 通过总线分别与 线性寻址存储器 (12) 以及静态随机存储器 SRAM (14) 互连; 其特征在于: 还包括高速缓存存储器 Cache(13)、 NandFlash控制器 (15) 和 NandFlash存 权
储卡(16),该高速缓存存储器 Cache(13)通过微处理器地址 /数据接口(17)与 CPU (11) 实现数据交换; 所述高速缓存存储器 Cache(13)通过 NandFlash芯片接口 (18) 与 NandFlash控制器 (15) 实现数据交换, 所述 NandFlash控制器 (15) 通过总线与 NandFlash存储卡(16)实现数据交换;
所述装置 (10) 在线性寻址存储器 (12) 内配置程序的控制下, 读出存储在 NandFlash存储卡(16)内的程序, 最终实现嵌入式系求统存储空间的扩展。
2、 如权利要求 1所述的用于嵌入式系统扩展存储空间的装置, 其特征在于: 所述配置程序是包括系统初始配置程序、 高速缓存存储器 Cache(13)配置程 序和 NandFlash控制器 (15) 配置程序的系统启动和运行所需的程序。
3、 如权利要求 1所述的用于嵌入式系统扩展存储空间的装置, 其特征在于: 所述高速缓存存储器 Cache(13)包括 CPU接口 (131)、 缓冲区 (132)、 地址 索引区 (133)、 控制逻辑模块 (134) 和 NandFlash控制器接口 (135);
所述 CPU接口 (131) 通过缓冲区数据通路 (130) 与缓冲区 (132) 连接, 通过微处理器地址 /数据接口 (17) 与 CPU (11) 进行连接, 所述微处理器地址 / 数据接口 (17) 包括地址接口 (136) 和数据接口 (137);
所述 NandFlash控制器接口( 135)通过缓冲区数据通路( 130)与缓冲区( 132) 连接,通过 NandFlash芯片接口( 18 )与 NandFlash控制器( 15)连接,所述 NandFlash 芯片接口 (18) 包括 FIFO总线, 其内包括 NandFlash控制线 (138) 和数据控 制线 (139)。
4、 如权利要求 1或 3所述的用于嵌入式系统扩展存储空间的装置, 其特征 在于:
所述微处理器地址 /数据接口 (17) 与所选择 CPU (11) 型号匹配, 包括 8 位、 16位或 32位宽度的总线; 所述缓冲区数据通路 (130) 包括 8位、 16位或 32位宽度的总线。
5、 如权利要求 3所述的用于嵌入式系统扩展存储空间的装置, 其特征在于: 所述缓冲区 (132 )在逻辑上被划分成多个区块, 单个区块大小与 NandFlash 存储卡 (16)的块大小匹配, 每个区块可以缓冲 NandFlash存储卡 (16)中的单块数 据。
6、 如权利要求 1所述的用于嵌入式系统扩展存储空间的装置, 其特征在于: 所述缓冲区 (132 )具有地址映射功能, 能将 NandFlash存储卡(16)中程序地. 址空间直接映射到系统的程序地址空间中去,以方便系统对 NandFlash存储卡 (16) 中程序的读取。
7、 如权利要求 1所述的用于嵌入式系统扩展存储空间的装置, 其特征在于: 所述高速缓存存储器 CaChe(13)内部的缓冲区 (132 ) 具备地址索引功能, 已 经缓冲到缓冲区 (132 ) 内的数据在地址索引区 (133 ) 中有对应的地址索引。
8、 用于嵌入式系统扩展存储空间的方法, 基于如权利要求 1所述的用于嵌 入式系统扩展存储空间的装置 (10 ), 其特征在于, 所述方法包括步骤:
A、 系统上电启动, 并将 NandFlash 存储卡(16)中程序地址空间直接映射到 系统的程序地址空间中;
B、 高速缓存存储器 Cache(13)读取系统程序指针;
C、控制逻辑模块(134)判断所读取的系统程序指针是否在地址索引区(133 ) 内;
D、 上述步骤 C 中, 如果判断结果为"是", 则从缓冲区 (132) 内直接读取 该程序指针指向的数据, 并将数据返回给系统;
E、 步骤 C中, 如果判断结果为"否", 即所读取的系统程序指针不在地址索 引区 ( 133 ) 内, 则通知 NandFlash控制器 ( 15 ) 读取 NandFlash存储卡(16)内程 序指针指向的数据, 并将数据直接返回给缓冲区 (132 ), 同时将程序指针添加 到地址索引区 (133 ) 内, 然后根据步骤 B中所读取的系统程序指针读取缓冲区 ( 132) 中对应的数据。
9、 如权利要求 8所述的扩展嵌入式系统存储空间的方法, 其特征在于- 通过改变所述线性寻址存储器 (12 ) 内的相关配置程序, 所述 NandFlash控 制器 (15 ) 从 NandFlash存储卡(16)中读取数据时可以读取一块或同时读取多块 NandFlash存储卡(16)中的数据, 读取过程中, 系统处于等待状态。
10、如权利要求 8或 9所述的扩展嵌入式系统存储空间的方法,其特征在于: 高速缓存存储器 Cache(13)在从 NandFlash存储卡(16)读取多块数据时,具有 判断多块数据是否读取完毕的功能。
PCT/CN2008/001894 2008-07-03 2008-11-20 用于嵌入式系统扩展存储空间的装置和方法 WO2010000101A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2008100684157A CN101334758B (zh) 2008-07-03 2008-07-03 用于嵌入式系统扩展存储空间的装置和方法
CN200810068415.7 2008-07-03

Publications (1)

Publication Number Publication Date
WO2010000101A1 true WO2010000101A1 (zh) 2010-01-07

Family

ID=40197366

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/001894 WO2010000101A1 (zh) 2008-07-03 2008-11-20 用于嵌入式系统扩展存储空间的装置和方法

Country Status (2)

Country Link
CN (1) CN101334758B (zh)
WO (1) WO2010000101A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114063917A (zh) * 2021-11-11 2022-02-18 天津兆讯电子技术有限公司 快速读取程序数据的方法和微控制器

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334758B (zh) * 2008-07-03 2011-09-07 国民技术股份有限公司 用于嵌入式系统扩展存储空间的装置和方法
CN101576866B (zh) * 2009-03-05 2014-01-29 上海闻泰电子科技有限公司 一种利用NandFlash总线扩展T卡的方法
CN101908028B (zh) * 2009-06-02 2012-09-05 深圳市融创天下科技股份有限公司 一种通过标准sd存储接口实现io扩展的方法及系统
CN102169466A (zh) * 2010-06-22 2011-08-31 上海盈方微电子有限公司 一种基于页操作的可编程Nandflash控制器
CN102103470A (zh) * 2011-01-28 2011-06-22 鸿富锦精密工业(深圳)有限公司 能够扩展内存的电子设备及扩展方法
CN102760319B (zh) * 2012-06-19 2014-11-05 株洲南车时代电气股份有限公司 一种lkj监控装置扩充存储容量的方法
CN103268284B (zh) * 2013-05-14 2017-01-18 北京控制工程研究所 一种星敏感器在轨维护方法
CN103412829B (zh) * 2013-08-16 2016-12-28 深圳市汇顶科技股份有限公司 扩大mcu程序地址空间的方法及装置
CN104866345B (zh) * 2015-05-21 2018-03-23 福建升腾资讯有限公司 一种ARMv7m架构下可执行代码的存储方法
CN109558072B (zh) * 2018-10-10 2022-03-25 建荣半导体(深圳)有限公司 音频播放芯片的存储空间扩展方法、系统、音频播放芯片及存储装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016719A1 (en) * 2004-04-09 2007-01-18 Nobuhiro Ono Memory device including nonvolatile memory and memory controller
CN101334758A (zh) * 2008-07-03 2008-12-31 深圳市中兴集成电路设计有限责任公司 用于嵌入式系统扩展存储空间的装置和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09506988A (ja) * 1993-09-30 1997-07-08 アップル コンピュータ,インコーポレイテッド コンピュータの仮想メモリにおける補助記憶の分散制御システム
US6029237A (en) * 1997-10-08 2000-02-22 Dell Usa, L.P. Method for simulating the presence of a diskette drive in a NetPC computer that contains only a hard disk drive

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016719A1 (en) * 2004-04-09 2007-01-18 Nobuhiro Ono Memory device including nonvolatile memory and memory controller
CN101334758A (zh) * 2008-07-03 2008-12-31 深圳市中兴集成电路设计有限责任公司 用于嵌入式系统扩展存储空间的装置和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114063917A (zh) * 2021-11-11 2022-02-18 天津兆讯电子技术有限公司 快速读取程序数据的方法和微控制器
CN114063917B (zh) * 2021-11-11 2024-01-30 天津兆讯电子技术有限公司 快速读取程序数据的方法和微控制器

Also Published As

Publication number Publication date
CN101334758A (zh) 2008-12-31
CN101334758B (zh) 2011-09-07

Similar Documents

Publication Publication Date Title
WO2010000101A1 (zh) 用于嵌入式系统扩展存储空间的装置和方法
TWI317478B (en) Hard disk drive cache memory and playback device
TWI512476B (zh) 用以控制非依電性記憶體裝置中之操作之方法以及相關電腦程式產品、電腦可讀儲存媒體、記憶體裝置、及主機裝置
CN104520932B (zh) 闪存存储器控制器
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
CN103946826B (zh) 用于在公共存储器通道上实现多级存储器层级的设备和方法
TWI435215B (zh) 下達讀取指令與資料讀取方法、控制器與儲存系統
KR100708128B1 (ko) 낸드 플래시 메모리 제어 장치 및 방법
CN104106057B (zh) 用非易失性随机存取存储器提供对休眠状态转变的即时响应的方法和系统
TWI678618B (zh) 快閃記憶裝置的命名空間操作方法及裝置
US20090235013A1 (en) Mass Storage Device Having Both Xip Function and Storage Function
US8996788B2 (en) Configurable flash interface
CN108139994B (zh) 内存访问方法及内存控制器
CN104238957B (zh) 串行外围接口控制器、串行外围接口快闪存储器及其存取方法和存取控制方法
US20040193864A1 (en) System and method for actively booting a computer system
TW201305821A (zh) 控制快閃記憶體介質系統的方法、裝置及固態記憶體件
TWI710905B (zh) 資料儲存裝置及邏輯至物理位址映射表之載入方法
WO2015196378A1 (zh) 读写闪存中数据的方法、装置及用户设备
TWI259361B (en) Semiconductor memory device
TW202038096A (zh) 資料儲存裝置及邏輯至物理位址映射表之更新方法
CN104461977B (zh) 记忆卡存取装置、其控制方法与记忆卡存取系统
CN205986931U (zh) 一种基于NVMe SSD的交换机
TWI474254B (zh) 用於在一記憶體系統中執行命令的方法與裝置及資料儲存系統
CN102117245B (zh) 嵌入式设备及其系统可执行文件分割加载和启动方法
CN104461967B (zh) 一种支持同步和异步传输模式的并行数据接口

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08874846

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC

122 Ep: pct application non-entry in european phase

Ref document number: 08874846

Country of ref document: EP

Kind code of ref document: A1