WO2015101211A1 - 存储***及其非易失性存储器的控制方法 - Google Patents

存储***及其非易失性存储器的控制方法 Download PDF

Info

Publication number
WO2015101211A1
WO2015101211A1 PCT/CN2014/094998 CN2014094998W WO2015101211A1 WO 2015101211 A1 WO2015101211 A1 WO 2015101211A1 CN 2014094998 W CN2014094998 W CN 2014094998W WO 2015101211 A1 WO2015101211 A1 WO 2015101211A1
Authority
WO
WIPO (PCT)
Prior art keywords
cache
volatile memory
ram
write
unit
Prior art date
Application number
PCT/CN2014/094998
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
Priority claimed from CN201310746199.8A external-priority patent/CN104750424B/zh
Priority claimed from CN201310746987.7A external-priority patent/CN104750425B/zh
Application filed by 国民技术股份有限公司 filed Critical 国民技术股份有限公司
Publication of WO2015101211A1 publication Critical patent/WO2015101211A1/zh

Links

Images

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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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

Definitions

  • the present invention relates to the field of memory technologies, and in particular, to a storage system and a method for controlling the same.
  • a system-on-a-chip refers to the integration of a complete system on a single chip, typically including a central processing unit (CPU), read-only memory ROM, random access memory RAM, non-volatile memory (such as Flash/EEPROM), and other functional blocks.
  • CPU central processing unit
  • ROM read-only memory
  • RAM random access memory
  • non-volatile memory such as Flash/EEPROM
  • RAM is the most frequently used unit in the system and interacts with the CPU
  • non-volatile memory is slow memory, especially the write operation takes a long time.
  • a write cache is usually added to the system to improve system performance.
  • the cache data is first written into the write cache so that the system can perform other operations while the non-volatile memory simultaneously writes the cache data in the write cache to the non-volatile memory.
  • the system can quickly store the cached data written to the non-volatile memory in the write cache for other operations, as compared to writing directly to the non-volatile memory. Invoking data can reduce system write time and improve system performance.
  • the technical problem to be solved by the present invention is to provide a storage system and a control method thereof for the non-volatile memory, which can fully utilize memory resources and reduce waste of memory resources.
  • a storage system comprising: a main control module, a first memory control module, a non-volatile memory and a first system RAM, wherein the first memory control module respectively The main control module, the non-volatile memory and the first system RAM are connected; the first system RAM is preset or randomly allocated with a cache RAM;
  • the first memory control module is configured to store cache data that needs to be written into the non-volatile memory according to the write command.
  • the cache RAM is released in the cache RAM and after a write operation to the non-volatile memory is completed.
  • the invention also provides a method for controlling a non-volatile memory of a storage system, comprising the following steps:
  • the first memory control module receives a write command of the main control module to the non-volatile memory
  • the first memory control module stores, according to the write command, cache data that needs to be written into the non-volatile memory in a cache RAM in the first system RAM;
  • the first memory control module releases the cache RAM after completing a write operation to the non-volatile memory.
  • the invention also provides a storage system, comprising: a main control module, a first memory control module, and non-volatile storage And a cache module, wherein the first memory control module is respectively connected to the main control module, the nonvolatile memory, and the cache module;
  • the first memory control module is configured to store cache data that needs to be written into the non-volatile memory according to the write command when the main control module issues a write command to the non-volatile memory
  • the cache module is released in the cache module and after a write operation to the non-volatile memory is completed and when the main control module does not issue a write command to the non-volatile memory.
  • the invention also provides a method for controlling a non-volatile memory of a storage system, comprising the following steps:
  • S5 the first memory control module receives a write command of the system to the non-volatile memory
  • the first memory control module stores, in the cache module, cache data that needs to be written into the non-volatile memory according to the write command;
  • the first memory control module releases the cache module after completing a write operation to the non-volatile memory and when the system does not issue a write command to the non-volatile memory.
  • the present invention has the following advantages: in the storage system provided by the present invention, the first memory control module is configured to be required according to the write command when the main control module issues a write command to the non-volatile memory.
  • the cache data written to the non-volatile memory is stored in the cache module or the cache RAM, and the cache module is executed after the write operation to the non-volatile memory is completed and when the main control module does not issue a write command to the non-volatile memory.
  • the operation permission of the cache RAM is released to the main control module, so that the main control module can use the cache module or the cache RAM as the memory of the system, thereby making the cache module or the cache RAM fully utilized while improving system performance. Can reduce the waste of memory resources.
  • FIG. 1 is a schematic structural diagram of a storage system in Embodiment 1 of the present invention.
  • FIG. 2 is a schematic diagram of signal and data flow directions of the storage system shown in FIG. 1;
  • FIG. 3 is a schematic diagram of a specific structure of the storage system shown in FIG. 1;
  • FIG. 4 is a schematic diagram of signal and data flow directions of the storage system shown in FIG. 3;
  • FIG. 5 is a flowchart of a method of controlling a nonvolatile memory of a memory system in Embodiment 2 of the present invention.
  • FIG. 6 is a detailed flowchart of a method of controlling a nonvolatile memory of the memory system shown in FIG. 5;
  • FIG. 7 is a detailed flowchart of a method of controlling a nonvolatile memory of the memory system shown in FIG. 6;
  • Embodiment 8 is a schematic structural diagram of a storage system in Embodiment 3 of the present invention.
  • Figure 9 is a schematic diagram showing the flow of signals and data of the storage system shown in Figure 8.
  • FIG. 10 is a schematic diagram of a specific structure of the storage system shown in FIG. 8;
  • FIG 11 is a schematic diagram showing the flow of signals and data of the storage system shown in Figure 10;
  • FIG. 12 is a flowchart of a method of controlling a nonvolatile memory of a memory system in Embodiment 4 of the present invention.
  • FIG. 13 is a detailed flowchart of a method of controlling a nonvolatile memory of the memory system shown in FIG. 12;
  • FIG. 14 is a specific flowchart of a method of controlling a nonvolatile memory of the memory system shown in FIG.
  • Fig. 1 shows a storage system in this embodiment.
  • the storage system comprises a main control module 1, a first memory control module 2, a non-volatile memory 3 and a first system RAM4, the first memory control module 2 and the main control module 1, the non-volatile memory 3 and the first System RAM4 is connected.
  • the cache RAM 41 for storing cache data is preset or randomly allocated in the first system RAM 4.
  • the first memory control module 2 communicates with the main control module 1 through a bus, and the main control module 1 is a central processing unit (CPU of the system). ).
  • the main control module 1 issues a write command to the nonvolatile memory 3, and the first memory control module 2 receives the write command issued by the main control module 1, and according to the write command
  • the cache data that needs to be written to the nonvolatile memory 3 is stored in the cache RAM 41.
  • the first memory control module 2 reads the cache data that has been stored in the cache RAM 41 and needs to be written to the nonvolatile memory 3, and The read cache data is written in the nonvolatile memory 3, thereby realizing a write operation to the nonvolatile memory 3.
  • the first memory control module 2 transmits to the main control module 1 that the cache data of the cache RAM 41 has been completed.
  • a notification signal of the nonvolatile memory 3 to notify the main control module 1 that the cache RAM 41 can continue to be used as the memory of the system, thereby realizing the cache RAM 41 for storing the cache data to be written into the nonvolatile memory 3. freed.
  • the nonvolatile memory 3 can cause the cache data stored in the cache RAM 41 to be written during the write operation.
  • the non-volatile memory 3 is entered, and after the cache data write operation is completed, the corresponding cache RAM 41 is released, so that the main control module 1 can continue to use the cache RAM 41 as a memory of the system, thereby improving system performance and realizing
  • the multiplexing of the cache RAM 41 can avoid waste of memory resources, and does not require an additional cache module of the nonvolatile memory 3, which can reduce the area of the chip and contribute to cost reduction.
  • the main control module 1 is also used to release the cache RAM 41 after completing the write operation to the nonvolatile memory 3.
  • the first memory control module 2 may send the cache data of the non-volatile memory 3 stored in the cache RAM 41 to the non-volatile memory 3, and then send the message to the main control module 1
  • the notification signal for completing the data writing is sent to the main control module 1.
  • the cache RAM 41 storing the cache data that has been written is released.
  • the first memory control module 2 of the present embodiment includes a first RAM control unit 21 and a non-volatile memory control unit 22.
  • the main control module 1 issues a write command when the data needs to be written to the non-volatile memory 3, and the non-volatile memory control unit 22 receives the write command to the non-volatile memory 3 issued by the main control module 1.
  • the write command is converted to a write timing to write the cache data to the nonvolatile memory 3 in accordance with the write timing in a subsequent process.
  • the nonvolatile memory control unit 22 transmits write operation information to the first RAM control unit 21 in accordance with the write command.
  • the write operation information includes, for example, a write signal and address information in which the cache data of the nonvolatile memory 3 is written in the cache RAM 41.
  • the first RAM control unit 21 stores the cache data to be written in the nonvolatile memory 3 in the cache RAM 41 of the first system RAM 4 in accordance with the received write operation information. After the first RAM control unit 21 writes the cache data to the corresponding cache RAM 41, the nonvolatile memory control unit 22 sends a read to the first RAM control unit 21 to read the non-volatile memory that needs to be written in the cache RAM 41. 3 read command to cache data.
  • the nonvolatile memory control unit 22 issues a read command to read the data.
  • the first RAM control unit 21 reads the cache data stored in the cache RAM 41 and needs to be written into the nonvolatile memory 3 according to the read command, and transmits the read cache data to the nonvolatile memory control unit 22,
  • the nonvolatile memory control unit 22 thus writes the received cache data into the nonvolatile memory 3 to implement a write operation to the nonvolatile memory 3.
  • the control unit 21 transmits a notification signal that the corresponding cache data in the cache RAM 41 has been written to the nonvolatile memory 3 to notify the main control module 1 that the cache RAM 41 for storing the cache data can continue to be used as the memory of the system.
  • the non-volatile memory control unit 22 includes a non-volatile memory write control sub-unit 221 and a cache management sub-unit 222.
  • the non-volatile memory write control sub-unit 221 is configured to receive a write command of the main control module 1 to the non-volatile memory 3, and issue a write operation control signal; and a cache management sub-unit 222 for performing a write operation.
  • the control signal sends the write operation information to the first RAM control unit 21;
  • the non-volatile memory write control sub-unit 221 is further configured to send a read command to the cache management sub-unit 222 to read the cached data stored in the cache RAM 41.
  • the read command is sent to the first RAM control unit 21 by the cache management sub-unit 222.
  • the first RAM control unit 21 includes a first non-volatile memory command processing sub-unit 211, an address management sub-unit 216, a RAM write control sub-unit 213, and The RAM reads the control sub-unit 214. Further, the first RAM control unit 21 receives a command from the main control module 1 of the system in addition to the command from the nonvolatile memory control unit 22, and therefore, the first RAM control unit 21 of the present embodiment further includes The first central processor commands the processing subunit 212 and the first selection subunit 215.
  • the first central processor command processing sub-unit 212 is configured to receive commands from the main control module 1.
  • the first selection sub-unit 215 transmits a command from one of the non-volatile memory control unit 22 and the main control module 1 to the RAM write control sub-unit 213 according to whether the non-volatile memory 3 is a write operation period, that is, For the first central processing
  • the commands of one of the command processing sub-unit 212 and the first non-volatile memory command processing sub-unit 211 are selected while the read data of the RAM read control sub-unit 214 is selected for return.
  • the nonvolatile memory write control subunit 221 receives a write command to the nonvolatile memory 3 issued by the main control module 1 of the system, and The write command is converted to write timing for a write operation while a write operation control signal is issued to the cache management sub-unit 222.
  • the cache management sub-unit 222 transmits write operation information to the first RAM control unit 21 according to the write operation control signal sent from the non-volatile memory write control sub-unit 221, the write operation information including the write signal and the need to write the non-volatile
  • the cache data of the memory 3 is stored in the address information in the cache RAM 41.
  • the first non-volatile memory command processing sub-unit 211 is configured to receive the write operation information transmitted by the cache management sub-unit 222.
  • the first selection sub-unit 215 selects the write operation information from the first non-volatile memory command processing sub-unit 211, and transmits the write operation information to the RAM write control sub-unit 213.
  • the address management sub-unit 216 is configured to receive the cache module 41 of the main control module 1 for storing cache data that needs to be written into the non-volatile memory 3 when the write command to the non-volatile memory 3 is issued by the main control module 1.
  • the address configuration command also receives write operation information from the cache management sub-unit 222 to generate RAM address information including cache data for storing the non-volatile memory 3 according to the write operation information and the address configuration command.
  • the address of the cache RAM 41 in the entire first system RAM 4 i.e., the base address
  • the cache data of the nonvolatile memory 3 are stored in the address (i.e., offset) in the cache RAM 41.
  • the first selection sub-unit 215 selects the corresponding RAM address information to be sent to the RAM write control sub-unit 213 during a write operation of the non-volatile memory 3.
  • the RAM write control sub-unit 213 stores the cache data to be written in the nonvolatile memory 3 in the corresponding cache RAM 41 based on the write operation information and the RAM address information from the first selection sub-unit 215. After the RAM write control sub-unit 213 writes the cache data into the corresponding cache RAM 41, the non-volatile memory write control sub-unit 221 issues a read to the cache management sub-unit 222 that needs to be written to the non-volatile memory stored in the cache RAM 41. The read command of the cache data of the memory 3 is sent to the first non-volatile memory command processing sub-unit 211 by the cache management sub-unit 222.
  • the first selection sub-unit 215 selects a read command from the first non-volatile first non-volatile memory command processing sub-unit 211, and transmits the read command to the RAM read control sub-unit 214.
  • the RAM read control sub-unit 214 reads the cache data to be written into the nonvolatile memory 3 from the cache RAM 41 in accordance with the read command.
  • the first selection sub-unit 215 returns the cache data read by the RAM read control sub-unit 214 to the non-volatile memory command processing sub-unit 211 to transmit the data to the cache through the non-volatile memory command processing sub-unit 211.
  • Management subunit 222 Management subunit 222.
  • the cache management sub-unit 222 transmits the received cache data to the non-volatile memory write control sub-unit 221, so that the non-volatile memory write control sub-unit 221 writes the cache data into the non-volatile memory 3 to A write operation to the nonvolatile memory 3 is implemented.
  • the cache management sub-unit 222 After the non-volatile memory write control sub-unit 221 writes the cache data of the non-volatile memory 3 to the non-volatile memory 3, the cache management sub-unit 222 stores the write operation of the write control sub-unit 221 according to the non-volatile memory. State (i.e., data has been written into the non-volatile memory 3) while transmitting a notification to the main control module 1 and the first selection sub-unit 215 that the cache data in the cache RAM 41 has been written to the non-volatile memory 3.
  • Signaling to notify the main control module 1 that the cache RAM 41 for storing the cache data to be written into the non-volatile memory 3 can still be used normally as the memory of the system, and notifying the first selection sub-unit 215 that there is no need to A command of the nonvolatile memory command processing sub-unit 211 selects, thereby releasing the cache RAM 41 storing the cache data of the nonvolatile memory 3.
  • the cache RAM 41 of the first system RAM 4 is used as the write buffer during the write operation of the nonvolatile memory 3, and the cache data to be written to the nonvolatile memory 3 in the cache RAM 41 is written.
  • the cache RAM 41 for storing the cache data to be written into the nonvolatile memory 3 is released to
  • the cache RAM 41 is still used as system memory, which can improve the system performance, realize the multiplexing of system memory resources, reduce the waste of memory resources, and reduce the chip area and reduce the cost because no additional cache module is needed.
  • the cache RAM 41 may be released after completing all the processes of the write operation of the nonvolatile memory 3, which is not specifically limited herein.
  • Fig. 5 is a flow chart showing a control method of the nonvolatile memory of the storage system in the embodiment.
  • the storage system includes a first memory control module 2 for controlling the non-volatile memory 3.
  • the first memory control module 2 is connected to the non-volatile memory 3 and the main control module 1 of the system, respectively.
  • the control method includes the following steps:
  • the first memory control module 2 receives a write command from the main control module 1 to the nonvolatile memory 3.
  • the first memory control module 2 is for controlling access to the non-volatile memory 3.
  • the main control module 1 of the system needs to perform a write operation to the nonvolatile memory 3
  • the first memory control module 2 receives a write command of the main control module 1 of the system to the nonvolatile memory 3 according to the write command. Write.
  • the first memory control module 2 stores the cache data to be written in the nonvolatile memory 3 in the cache RAM 41 in the first system RAM 4 in accordance with the write command.
  • the nonvolatile memory 3 is a slow memory.
  • a portion of the cache RAM 41 that is reserved or randomly allocated in the first system RAM 4 as the write buffer of the nonvolatile memory 3 will first need to be written in a non-easy manner.
  • the cache data of the memory 3 is first stored in the cache RAM 41.
  • the cache RAM 41 enables the cache data to be quickly stored, thereby improving the performance of the system.
  • the first memory control module 2 releases the cache RAM 41 after completing the write operation to the nonvolatile memory 3. After the first memory control module 2 writes the cache data stored in the cache RAM 41 to the non-volatile memory 3, the cache RAM 41 is released, so that the main control module 1 of the system can continue to use the cache RAM 41 as the memory of the system.
  • the first memory control module 2 includes a nonvolatile memory control unit 22 and a first RAM control unit 21.
  • step S1 includes the following steps:
  • step S11 The nonvolatile memory control unit 22 of the first memory control module 2 receives the write command of the main control module 1 to the nonvolatile memory 3.
  • the nonvolatile memory control unit 22 is for controlling an access operation to the nonvolatile memory 3, and the write command of the main control module 1 of the system to the nonvolatile memory 3 is received by the nonvolatile memory control unit 22.
  • the nonvolatile memory control unit 22 includes a nonvolatile memory write control subunit 221 and a cache management subunit 222.
  • the nonvolatile memory write control subunit 221 receives a write command to the nonvolatile memory 3 by the main control module 1 of the system, and transmits a write operation control signal to the cache management subunit 222.
  • step S11 includes the following steps:
  • the nonvolatile memory write control subunit 221 of the nonvolatile memory control unit 22 receives the write command of the main control module 1 to the nonvolatile memory 3, and issues a write operation control signal.
  • step S12 The nonvolatile memory control unit 22 transmits the write operation information to the first RAM control unit 21 of the first memory control module 2 in accordance with the write command. Specifically, after receiving the write operation control signal sent by the nonvolatile memory write control subunit 221, the cache management subunit 222 transmits the write operation information to the first RAM control unit 21 according to the write operation control signal.
  • step S12 includes the following steps: S121: non-volatile memory control unit 22
  • the cache management sub-unit 222 receives the write operation control signal and transmits the write operation information to the first RAM control unit 21 in accordance with the write operation control signal.
  • step S2 includes the following steps:
  • the first RAM control unit 21 stores the cache data to be written in the nonvolatile memory 3 in the cache RAM 41 in accordance with the write operation information.
  • the first RAM control unit 21 is for controlling an access operation to the first system RAM 4.
  • the cache data that needs to be written into the nonvolatile memory 3 is first quickly stored in the cache RAM 41 of the first system RAM 4 by the first RAM control unit 21 to improve system performance.
  • the first RAM control unit 21 includes a first nonvolatile memory command processing subunit 211, an address management subunit 216, a RAM write control subunit 213, a RAM read control subunit 214, and a first central processor command processing.
  • the first nonvolatile memory command processing subunit 211 of the first RAM control unit 21 receives the write operation information from the nonvolatile memory control unit 22.
  • the first non-volatile memory command processing sub-unit 211 is configured to receive a signal from the non-volatile memory control unit 22.
  • the address management subunit 216 of the first RAM control unit 21 receives the write operation information, and is used according to the write operation information and the master module 1 formed when the write command issued by the main control module 1 to the nonvolatile memory 3 is used.
  • An address configuration command of the cache RAM 41 storing the cache data generates RAM address information of the cache RAM 41 for storing the cache data.
  • the RAM address information includes an address (ie, a base address) in the first system RAM 4 of the cache RAM 41 for storing the cache data of the nonvolatile memory 3, and cache data of the nonvolatile memory 3 are stored in the cache RAM 41. Address (ie, offset).
  • the first selection sub-unit 215 of the first RAM control unit 21 selects the RAM address information and the write operation information received by the non-volatile memory 3 command processing sub-unit for transmission.
  • the first RAM control unit 21 receives a command from the system main control module 1 in addition to the command from the nonvolatile memory control unit 22, and the first central processor command processing subunit 212 of the first RAM control unit 21 Used to receive commands from the main control module 1.
  • the first selection sub-unit 215 transmits a command from one of the non-volatile memory control unit 22 and the main control module 1 to the RAM write control sub-unit 213 according to whether the non-volatile memory 3 is a write operation period, that is, The command from one of the first central processor command processing sub-unit 212 and the first non-volatile memory command processing sub-unit 211 is selected while the read cached data of the RAM read control sub-unit 214 is selected for return.
  • the RAM write control sub-unit 213 of the first RAM control unit 21 stores the cache data in the cache RAM 41 based on the RAM address information and the write operation information transmitted from the first selection sub-unit 215. Through the above steps, the first RAM control unit 21 realizes writing the cache data to be written in the nonvolatile memory 3 into the cache RAM 41 of the first system RAM 4.
  • step S3 includes the following steps:
  • step S31 The nonvolatile memory control unit 22 transmits a read command for reading the cache data stored in the cache RAM 41 to the first RAM control unit 21.
  • the nonvolatile memory write control subunit 221 of the nonvolatile memory control unit 22 The cache management sub-unit 222 transmits a read command that reads the cache data stored in the cache RAM 41 that needs to be written to the non-volatile memory 3.
  • the cache management sub-unit 222 receives the read command and transmits the read read command to the first non-volatile memory command processing sub-unit 211 of the first RAM control unit 21. Referring to FIG. 1, step S31 includes the following steps:
  • the nonvolatile memory write control subunit 221 sends a read command to the cache management subunit 222 to read the cache data stored in the cache RAM 41.
  • the cache management sub-unit 222 receives the read command and transmits the read command to the first RAM control unit 21.
  • step S32 The first RAM control unit 21 reads the cache data stored in the cache RAM 41 in accordance with the read command, and transmits the read cache data to the nonvolatile memory control unit 22.
  • step S32 includes the following steps:
  • S321 The first nonvolatile memory command processing subunit 211 receives the read command.
  • the first selection sub-unit 215 selects a read command received by the first non-volatile memory command processing sub-unit 211 for transmission.
  • the RAM read control sub-unit 214 of the first RAM control unit 21 reads the cache data stored in the cache RAM 41 and needs to be written into the non-volatile memory 3 according to the read command sent from the first selection sub-unit 215, and The read cache data is sent to the nonvolatile memory write control subunit 221.
  • the first selection sub-unit 215 selects to return the cache data read by the RAM read control sub-unit 214 to the first
  • a non-volatile memory command processing sub-unit 211 is configured to transmit the cache data to the cache management sub-unit 222 via the first non-volatile memory command processing sub-unit 211.
  • the cache management sub-unit 222 transmits the received cache data to the non-volatile memory write control sub-unit 221.
  • step S33 The nonvolatile memory control unit 22 writes the cache data to the nonvolatile memory 3 to complete the write operation to the nonvolatile memory 3. Specifically, the nonvolatile memory write control sub-unit 221 writes the cache data into the non-volatile memory 3.
  • step S33 includes the following steps:
  • S331 The non-volatile memory write control sub-unit 221 writes the cache data into the non-volatile memory 3 to complete the write operation to the non-volatile memory 3.
  • step S34 The nonvolatile memory control unit 22 transmits a notification signal for writing the cache data to the nonvolatile memory 3 to the first RAM control unit 21 and the main control module 1 to release the cache RAM 41.
  • step S34 includes the following steps:
  • the cache management sub-unit 222 sends the cache data to the non-volatile memory 3 after the non-volatile memory write control sub-unit 221 writes the completion to the first selection sub-unit 215 and the main control module 1 of the system.
  • the buffer data is written into the notification signal of the non-volatile memory 3 to notify the first selection sub-unit 215 that the command of the non-volatile memory 3 command processing sub-unit does not need to be selected, and the notification main control module 1 can
  • the cache RAM 41 for storing the cache data to be written into the nonvolatile memory 3 is normally used as the memory of the system, thereby releasing the cache RAM 41 for storing the cache data to be written to the nonvolatile memory 3.
  • Fig. 8 shows the storage system in this embodiment.
  • the storage system comprises a main control module 1, a first memory control module 2, a non-volatile memory 3 and a cache module 7, respectively, and the first memory control module 2 and the main control module 1, the non-volatile memory 3 and the cache module 7, respectively Connected.
  • the main control module 1 is a central processing unit (CPU) of the system
  • the cache module 7 is a write cache added in the system.
  • the storage system also includes a second memory control module 5 coupled to the main control module 1 and a second system RAM 6 coupled to the second memory control module 5.
  • the second system RAM 6 is the memory of the system, and the second memory control module 5 is used to control the access operation to the RAM.
  • the second memory control module 5 is configured to read the cache data in the second system RAM 6 when receiving the read command of the main control module 1 to the second system RAM6; after receiving the main control module 1 to the second system The write command of RAM6 will need to be written into the second system RAM6.
  • the cache data is written in the second system RAM 6.
  • the second memory control module 5 is configured to read the cache data stored in the second system RAM 6 when receiving the read command of the main control module 1 to the second system RAM 6, and receive the main control module 1
  • the write command of the second system RAM 6 writes the cache data written in the second system RAM 6 into the second system RAM 6.
  • the first memory control module 2 is then used to control access operations to the non-volatile memory 3.
  • the main control module 1 issues a write command to the nonvolatile memory 3
  • the first memory control module 2 stores the cache data to be written in the nonvolatile memory 3 in the cache module 7 in accordance with the write command. It can be understood that after the cache data that needs to be written into the non-volatile memory 3 is stored in the cache module 7, or the cache data that needs to be written into the non-volatile memory 3 is also stored in the cache module 7.
  • the first memory control module 2 reads the cache data that has been stored in the cache module 7 and needs to be written into the non-volatile memory 3, and writes the read cache data into the non-volatile memory 3, thereby realizing A write operation of the nonvolatile memory 3.
  • the cache module 7 can be implemented using a register set or a random access memory. By setting the cache module 7, the cache data of the nonvolatile memory 3 can be quickly stored in the cache module 7, so that the system can perform other operations, thereby improving the performance of the system.
  • the first memory control module 2 After the first memory control module 2 completes the write operation to the nonvolatile memory 3, and when the main control module 1 does not issue a write command to the nonvolatile memory 3, the first memory control module 2 transmits to the main control module 1 that the cache module 7 has been completed.
  • the cache data of the non-volatile memory 3 is written into the notification signal of the non-volatile memory 3, to inform the main control module 1 that the cache module 7 can be used as the memory or other storage of the system to release the cache module 7; Thereby, the cache module 7 can be fully utilized, the waste of memory resources is reduced, and the capacity of the system memory is increased.
  • the cache data of the non-volatile memory 3 that has already been written may be cached in the process of writing the cache data of the cache module 7 into the non-volatile memory 3.
  • the operation authority of the module 7 is released to the main control module 1, or the operation authority of the cache module 7 is released to the main control module 1 after all the processes of the write operation of the non-volatile memory 3 are completed, and the completion is not easy.
  • the operation authority of the cache module 7 is released to the main control module 1 after the set time, which is not specifically limited herein.
  • the first memory control module 2 includes a cache control unit 23 and a non-volatile memory control unit 22.
  • the main control module 1 issues a write command
  • the non-volatile memory control unit 22 receives the write command to the non-volatile memory 3 issued by the main control module 1. And converting the write command to a write timing to write the cache data to the nonvolatile memory 3 according to the write timing in a subsequent process.
  • the non-volatile memory control unit 22 is configured to receive a write command to the non-volatile memory 3 issued by the main control module 1, and send the write operation information to the cache control unit 23 according to the write command.
  • the write operation information includes, for example, a write signal and address information in which the cache data of the nonvolatile memory 3 is written in the cache module 7.
  • the cache control unit 23 is configured to store the cache data that needs to be written into the non-volatile memory 3 in the cache module 7 according to the received write operation information.
  • the cache control unit 23 After the cache control unit 23 stores the cache data that needs to be written in the nonvolatile memory 3 in the cache module 7, or in the process of storing the cache data in the cache module 7 by the cache control unit 23, the nonvolatile memory
  • the control unit 22 transmits a read command to the cache control unit 23 to read the cache data of the nonvolatile memory 3 already stored in the cache module 7.
  • the cache control unit 23 reads the cache data stored in the cache module 7 and needs to be written into the nonvolatile memory 3 according to the received read command, and transmits the read cache data to the nonvolatile memory control unit 22, Thus making non The volatile memory control unit 22 writes the received cache data into the nonvolatile memory 3 to implement a write operation to the nonvolatile memory 3.
  • the nonvolatile memory control unit 22 also sends the buffer data of the nonvolatile memory 3 in the cache module 7 to the nonvolatile memory 3, and simultaneously transmits the completion to the cache control unit 23 and the main control module 1.
  • the memory controls the command of the unit 22 to release the cache module 7.
  • the main control module 1 can use the cache module 7 as the memory of the system after the cache data of the cache module 7 is written into the non-volatile memory 3, thereby enabling the cache module 7 to be fully utilized and reducing the waste of memory resources. And can increase the capacity of the system memory.
  • the operation authority of the cache module 7 is also released to the main control module 1, so that the main control module 1
  • the cache module 7 can be used as memory or other storage of the system during non-write operations of the non-volatile memory 3, thereby enabling the cache module 7 to be fully utilized.
  • the non-volatile memory control unit 22 includes a non-volatile memory write control sub-unit 221 and a cache management sub-unit 222.
  • the non-volatile memory write control sub-unit 221 is configured to receive a write command of the main control module 1 to the non-volatile memory 3, and issue a write operation control signal.
  • the cache management sub-unit 222 is configured to send the write operation information to the cache control unit 23 according to the write operation control signal.
  • the non-volatile memory write control sub-unit 221 is further configured to send a read command to the cache management sub-unit 222 to read the cache data in the cache module 7 to send the read command to the cache control unit 23 through the cache management sub-unit 222.
  • the cache control unit 23 is configured to receive commands from the non-volatile memory control unit 22, and also receive commands from the main control module 1, specifically, the cache control unit 23 includes a second The nonvolatile memory command processing sub-unit 231, the second central processing unit command processing sub-unit 232, the cache write control sub-unit 233, the cache read control sub-unit 234, and the second selection sub-unit 235. Further, the second central processing unit commands the processing sub-unit 232 for receiving the command of the main control module 1.
  • the second non-volatile memory command processing sub-unit 231 is configured to receive write operation information and a read command.
  • the second selection sub-unit 235 is configured to select the write operation information and the read command received by the second non-volatile memory command processing sub-unit 231 for transmission when the write operation of the non-volatile memory 3 is performed. Specifically, the second selection sub-unit 235 selects to send the write operation information to the cache write control sub-unit 233.
  • the cache write control sub-unit 233 stores the cache data that needs to be written in the non-volatile memory 3 in the cache module 7 based on the write operation information transmitted from the second selection sub-unit 235.
  • the non-volatile memory write control sub-unit 221 sends the cache management sub-unit 222 to the non-volatile memory 3 in the read cache module 7 to be written.
  • the read command of the cache data is sent to the second non-volatile memory command processing unit 231 by the cache management sub-unit 222.
  • the second selection sub-unit 235 selects a read command from the second non-volatile memory command processing unit 231, and transmits the read command to the cache read control sub-unit 234.
  • the cache read control sub-unit 234 reads the cache data stored in the cache module 7 to be written into the non-volatile memory 3 according to the read command sent from the second selection sub-unit 235, and transmits the read cache data.
  • the control sub-unit 221 is written to the non-volatile memory.
  • the cache management sub-unit 222 sends the received cache data to the non-volatile memory write control sub-unit 221, and writes the cache data into the non-volatile memory 3 through the non-volatile memory write control sub-unit 221 to A write operation to the nonvolatile memory 3 is implemented.
  • the cache management sub-unit 222 is further configured to: after the non-volatile memory write control sub-unit 221 writes the cache data of the non-volatile memory 3 in the cache module 7 into the non-volatile memory 3, simultaneously to the second selector
  • the unit 235 and the main control module 1 send a notification signal that the cache data is written into the non-volatile memory 3 to notify the main control module 1 that the cache module 7 can be used as the memory or other storage of the system, and notify the second selection.
  • Sub-unit 235 does not need to select a command from non-volatile memory control unit 22 to release cache module 7.
  • the main control module 1 can use the cache module 7 as the memory of the system after the cache data of the cache module 7 is written into the non-volatile memory 3, and during the non-write operation of the non-volatile memory 3, the main control module 1
  • the cache module 7 can still be used as the memory of the system, thereby enabling the cache module 7 to be fully utilized and increasing the capacity of the system memory.
  • Fig. 12 is a flow chart showing a control method of the nonvolatile memory of the storage system in the embodiment.
  • the storage system includes a first memory control module 2 for controlling the non-volatile memory 3.
  • the first memory control module 2 is connected to the non-volatile memory 3 and the main control module 1 of the system, respectively. It can be understood that the first memory control module 2 is connected to the main control module 1 (ie, the central processing unit of the system) for receiving the command of the main control module 1.
  • the first memory control module 2 includes a nonvolatile memory control unit 22 and a cache control unit 23.
  • the control method includes the following steps:
  • the first memory control module 2 receives a write command to the non-volatile memory 3 sent by the main control module 1 of the system.
  • the first memory control module 2 is used to control access to the non-volatile memory 3.
  • the main control module 1 of the system needs to write to the nonvolatile memory 3
  • the first memory control module 2 receives a write command of the system to write the nonvolatile memory 3 in accordance with the write command.
  • the first memory control module 2 stores the cache data that needs to be written into the nonvolatile memory 3 in the cache module 7 according to the write command. Since the nonvolatile memory 3 is a slow memory, a cache module 7 is added to the system as a write buffer of the nonvolatile memory 3 to improve system performance. Through the function of the cache module 7, the cache data of the nonvolatile memory 3 can be quickly stored in the cache module 7 so that the system can perform other operations.
  • the first memory control module 2 releases the cache module 7 after completing the write operation to the nonvolatile memory 3 and when the system does not issue a write command to the nonvolatile memory 3.
  • the first memory control module 2 writes the cache data of the nonvolatile memory 3 temporarily stored in the cache module 7 into the nonvolatile memory 3 to complete the write operation to the nonvolatile memory 3, and then caches
  • the operation authority of the module 7 is released to the system, so that the system can use the cache module 7 as memory or other storage of the system, thereby enabling the cache module 7 to be fully utilized, reducing waste of memory resources, and increasing system memory. capacity.
  • step S5 includes the following steps:
  • the non-volatile memory control unit 22 of the first memory control module 2 receives a write command from the main control module 1 of the system to the non-volatile memory 3.
  • the non-volatile memory control unit 22 is for controlling access to the non-volatile memory 3, and the write command of the main control module 1 of the system to the non-volatile memory 3 is received by the non-volatile memory control unit 22.
  • the nonvolatile memory control unit 22 includes a nonvolatile memory write control subunit 221 and a cache management subunit 222. Accordingly, referring to FIG.
  • step S51 includes the following steps: S511: The nonvolatile memory write control subunit 221 of the nonvolatile memory control unit 22 receives the write of the nonvolatile memory 3 by the main control module 1 of the system. Command and issue a write operation control signal.
  • step S52 The non-volatile memory control unit 22 sends a cache control list to the first memory control module 2 according to the write command.
  • Element 23 sends write operation information.
  • step S52 includes the following steps: S521: The cache management sub-unit 222 of the non-volatile memory control unit 22 receives the write operation control signal, and transmits the write operation information to the cache control unit 23 according to the write operation control signal.
  • the cache control unit 23 stores the cache data that needs to be written in the nonvolatile memory 3 in the cache module 7 in accordance with the received write operation information.
  • the cache control unit 23 is used to control access to the cache module 7. At the time of writing to the nonvolatile memory 3, the cache data that needs to be written to the nonvolatile memory 3 is first written into the cache module 7 by the cache control unit 23 to improve system performance.
  • step S6 includes the following steps:
  • the cache control unit 23 of the first memory control module 2 stores the cache data in the cache module 7 based on the write operation information. Further, the cache control unit 23 includes a second non-volatile memory command processing sub-unit 231, a second central processor command processing sub-unit 232, a cache write control sub-unit 233, a cache read control sub-unit 234, and a second selector. Unit 235. Referring to FIG. 14, step S61 includes the following steps:
  • the second nonvolatile memory command processing subunit 231 of the cache control unit 23 receives the write operation information.
  • the second selection sub-unit 235 of the cache control unit 23 selects the write operation information received by the second non-volatile memory command processing sub-unit 231 for transmission.
  • the cache write control sub-unit 233 of the cache control unit 23 stores the cache data in the cache module 7 based on the write operation information transmitted from the second selection sub-unit 235. Through the above steps S611-S613, the cache control unit 23 implements writing of the cache data that needs to be written to the nonvolatile memory 3 into the cache module 7.
  • step S7 includes the following steps:
  • step S71 includes the following steps:
  • the nonvolatile memory write control subunit 221 of the nonvolatile memory control unit 22 sends a read command to the cache management subunit 222 to read the cache data of the cache module 7 that needs to be written to the nonvolatile memory 3. .
  • the cache management sub-unit 222 receives the read command and transmits the read command to the second non-volatile memory command processing sub-unit 231 of the cache control unit 23.
  • step S72 The cache control unit 23 reads the cache data stored in the cache module 7 according to the read command, and transmits the read cache data to the nonvolatile memory control unit 22.
  • step S72 includes the following steps:
  • the second nonvolatile memory command processing subunit 231 receives a read command in the read cache module 7 that needs to be written to the cache data of the nonvolatile memory 3.
  • the second selection sub-unit 235 selects a read command received by the second non-volatile memory command processing sub-unit 231 for transmission.
  • the cache read control sub-unit 234 of the cache control unit 23 reads the cache data stored in the cache module 7 according to the read command sent from the second selection sub-unit 235, and transmits the read cache data to the non-volatile memory.
  • the second selection sub-unit 235 selects the cache data read by the cache read control sub-unit 234, and returns it to the cache data.
  • the second nonvolatile memory command processing sub-unit 231 transmits the received cache data to the cache management sub-unit 222, so that the cache management sub-unit 222 transmits the cache data to the non-volatile memory write control sub-unit 221.
  • step S73 The nonvolatile memory control unit 22 writes the cache data into the nonvolatile memory 3 to complete the write operation to the nonvolatile memory 3.
  • step S73 includes the following steps: S731: The nonvolatile memory write control subunit 221 of the nonvolatile memory control unit 22 writes the cache data into the nonvolatile memory 3 to complete the non- Write operation of volatile memory 3.
  • step S74 The nonvolatile memory control unit 22 sends a notification signal to the cache control unit 23 and the main control module 1 to complete the writing of the cache data to the nonvolatile memory 3 to release the cache module 7.
  • step S74 includes the following steps: S741: The cache management sub-unit 222, after the non-volatile memory write control sub-unit 221 writes the cache data to the non-volatile memory 3, to the second selection sub-unit 235 and the system
  • the master module 1 sends a notification signal to complete the writing of the cache data to the non-volatile memory 3 to notify the second selection sub-unit 235 that the signal from the non-volatile memory control unit 22 does not need to be re-selected, and the notification system
  • the main control module 1 can use the cache module 7 as a memory or other storage of the system to release the cache module 7. Thereby, the main control module 1 can use the cache module 7 as a memory or other storage during the non-write operation of the nonvolatile memory 3, make full use of the memory resources

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)

Abstract

一种存储***及其非易失性存储器的控制方法,该存储***包括主控模块(1)、第一存储器控制模块(2)、非易失性存储器(3)和第一***RAM(4),第一***RAM(4)中预设或随机分配有缓存RAM(41);在主控模块(1)发出对非易失性存储器(3)的写命令时,将缓存数据存储于缓存RAM(41)中,并在完成对非易失性存储器(3)的写操作后,释放缓存RAM(41)。该存储***及控制方法可提高***性能,使得缓存RAM得到充分利用,可有效减少存储器资源的浪费。

Description

存储***及其非易失性存储器的控制方法 技术领域
本发明涉及存储器技术领域,特别是涉及一种存储***及其非易失性存储器的控制方法。
背景技术
随着集成电路的快速发展,便携式电子产品的使用也越来越广泛,进而也推动了片上***的发展。片上***是指在单个芯片上集成一个完整的***,通常包括中央处理器(CPU)、只读存储器ROM、随机访问存储器RAM、非易失性存储器(如Flash/EEPROM)和其他功能模块。其中,RAM是***中使用最频繁且与CPU交互最多的单元,而非易失性存储器属于慢速存储器,尤其是写操作耗时很长。
现有技术中,通常是在***中增加一块写缓存来提高***性能。当要对非易失性存储器进行写操作时,先将缓存数据写入写缓存中,从而***便可执行其他操作,而非易失性存储器同时将写缓存中的缓存数据写入非易失性存储器中,以实现对非易失性存储器的写操作。如此一来,通过写缓存的缓冲作用,***可以将写入非易失性存储器的缓存数据快速地暂时存储于写缓存中,以便执行其他的操作,相较于直接向非易失性存储器写入缓存数据,能够减少***的写入时间,提高***的性能。
然而,对非易失性存储器的写操作是一个非经常性事件,使得相应的写缓存在大多数时间内均是处于一个空闲状态,造成资源浪费。
发明内容
本发明要解决的技术问题在于,针对现有技术的缺陷,提供一种存储***及其非易失性存储器的控制方法,能够充分利用存储器资源,减少存储器资源的浪费。
本发明解决其技术问题所采用的技术方案是:一种存储***,包括:主控模块、第一存储器控制模块、非易失性存储器和第一***RAM,所述第一存储器控制模块分别与所述主控模块、所述非易失性存储器和所述第一***RAM相连;所述第一***RAM中预设或随机分配有缓存RAM;
在所述主控模块发出对所述非易失性存储器的写命令时,所述第一存储器控制模块用于根据所述写命令将需要写入所述非易失性存储器的缓存数据存储于所述缓存RAM中,并在完成对所述非易失性存储器的写操作后,释放所述缓存RAM。
本发明还提供一种存储***的非易失性存储器的控制方法,包括如下步骤:
S1:第一存储器控制模块接收主控模块对非易失性存储器的写命令;
S2:所述第一存储器控制模块根据所述写命令将需要写入所述非易失性存储器的缓存数据存储于第一***RAM中的缓存RAM中;
S3:所述第一存储器控制模块在完成对所述非易失性存储器的写操作后,释放所述缓存RAM。
本发明还提供一种存储***,包括:主控模块、第一存储器控制模块、非易失性存储 器和缓存模块,所述第一存储器控制模块分别与所述主控模块、所述非易失性存储器和所述缓存模块相连;
所述第一存储器控制模块用于在所述主控模块发出对所述非易失性存储器的写命令时,根据所述写命令将需要写入所述非易失性存储器的缓存数据存储于所述缓存模块中,并在完成对所述非易失性存储器的写操作后以及在所述主控模块不对所述非易失性存储器发出写命令时,释放所述缓存模块。
本发明还提供一种存储***的非易失性存储器的控制方法,包括如下步骤:
S5:第一存储器控制模块接收***对非易失性存储器的写命令;
S6:所述第一存储器控制模块根据所述写命令将需要写入所述非易失性存储器的缓存数据存储于缓存模块中;
S7:所述第一存储器控制模块在完成对所述非易失性存储器的写操作后以及在***不对所述非易失性存储器发出写命令时,释放所述缓存模块。
本发明与现有技术相比具有如下优点:本发明所提供的存储***中,第一存储器控制模块用于在主控模块发出对非易失性存储器的写命令时,根据该写命令将需要写入非易失性存储器的缓存数据存储于缓存模块或缓存RAM中,在完成对非易失性存储器的写操作后以及在主控模块不对非易失性存储器发出写命令时,将缓存模块或缓存RAM的操作权限释放给主控模块,从而使得主控模块可将该缓存模块或缓存RAM当作***的内存使用,由此在提高***性能的同时,使得缓存模块或缓存RAM得到充分利用,能够减少存储器资源的浪费。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例1中存储***的一结构示意图;
图2是图1所示的存储***的信号和数据流向示意图;
图3是图1所示的存储***的具体结构示意图;
图4是图3所示的存储***的信号和数据流向示意图;
图5是本发明实施例2中存储***的非易失性存储器的控制方法的一流程图;
图6是图5所示的存储***的非易失性存储器的控制方法的具体流程图;
图7是图6所示的存储***的非易失性存储器的控制方法的具体流程图;
图8是本发明实施例3中存储***的一结构示意图;
图9是图8所示的存储***的信号和数据流向示意图;
图10是图8所示的存储***的具体结构示意图;
图11是图10所示的存储***的信号和数据流向示意图;
图12是本发明实施例4中存储***的非易失性存储器的控制方法的一流程图;
图13是图12所示的存储***的非易失性存储器的控制方法的具体流程图;
图14是图13所示的存储***的非易失性存储器的控制方法的具体流程图。
图中:1、主控模块;2、第一存储器控制模块;21、第一RAM控制单元;211、第一非易失性存储器命令处理子单元;212、第一中央处理器命令处理子单元;213、RAM写控制子单元;214、RAM读控制子单元;215、第一选择子单元;216、地址管理子单元;22、 非易失性存储器控制单元;221、非易失性存储器写控制子单元;222、缓存管理子单元;23、缓存控制单元;231、第二非易失性存储器命令处理子单元;232、第二中央处理器命令处理子单元;233、缓存写控制子单元;234、缓存读控制子单元;235、第二选择子单元;3、非易失性存储器;4、第一***RAM;41、缓存RAM;5、第二存储器控制模块;6、第二***RAM;7、缓存模块。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
实施例1
图1示出本实施例中的存储***。该存储***包括主控模块1、第一存储器控制模块2、非易失性存储器3和第一***RAM4,第一存储器控制模块2分别与主控模块1、非易失性存储器3和第一***RAM4相连。具体地,第一***RAM4中预设或随机分配有用于存储缓存数据的缓存RAM41,第一存储器控制模块2通过总线与主控模块1进行通讯,主控模块1为***的中央处理器(CPU)。
当需要对非易失性存储器3进行写操作时,主控模块1发出对非易失性存储器3的写命令,第一存储器控制模块2接收主控模块1发出的写命令,并根据写命令将需要写入非易失性存储器3的缓存数据存储于缓存RAM41中。在将非易失性存储器3的缓存数据存储于缓存RAM41中的过程或之后,,第一存储器控制模块2读取已经存储于缓存RAM41中需要写入非易失性存储器3的缓存数据,并将所读取的缓存数据写入非易失性存储器3中,从而实现对非易失性存储器3的写操作。第一存储器控制模块2在将缓存RAM41中的需要写入非易失性存储器3的缓存数据写入非易失性存储器3后,向主控模块1发送已经完成将缓存RAM41的缓存数据写入非易失性存储器3的通知信号,以通知主控模块1可以将该缓存RAM41继续作为***的内存正常使用,从而实现将用于存储需要写入非易失性存储器3的缓存数据的缓存RAM41释放。
相较于现有技术而言,通过在第一***RAM4中预设或随机分配有缓存RAM41,可使非易失性存储器3在写操作期间过程中,将存储于缓存RAM41中的缓存数据写入非易失性存储器3,并在完成缓存数据写入操作后,释放相应缓存RAM41,以使得主控模块1可将该缓存RAM41继续作为***的内存使用,由此提高***性能的同时,实现对缓存RAM41的复用,能够避免存储器资源的浪费,且不需要额外增加非易失性存储器3的缓存模块,能够减小芯片的面积,有利于降低成本。
主控模块1还用于在完成对非易失性存储器3的写操作后,释放缓存RAM41。具体地,为了进一步提高***性能,第一存储器控制模块2可以在将缓存RAM41中所存储的非易失性存储器3的缓存数据写入非易失性存储器3后,向主控模块1发送已经将该缓存数据写入非易失性存储器3的通知信号,以通知主控模块1可以将缓存RAM41继续作为***的内存使用,从而释放存储该缓存数据的缓存RAM41,而不需要在读取完所有的数据后才向主控模块1发送完成数据写入的通知信号。即在将缓存RAM41中的缓存数据写入非易失性存储器3同时,将释放存储已经完成写入的缓存数据的缓存RAM41。当然,还可以是在完成非易失性存储器3的写操作的所有过程后释放相应的缓存RAM41,还可以在完成非易失性 存储器3的写操作后,经过设定的时间后才释放相应的缓存RAM41,在此不进行具体限定。
继续参阅图1,并结合图2,本实施方式的第一存储器控制模块2包括第一RAM控制单元21和非易失性存储器控制单元22。其中,当需要对非易失性存储器3写入数据时,主控模块1发出写命令,非易失性存储器控制单元22接收主控模块1发出的对非易失性存储器3的写命令,并将该写命令转换为写时序,以在后续过程根据写时序将缓存数据写入非易失性存储器3。同时,非易失性存储器控制单元22根据该写命令向第一RAM控制单元21发送写操作信息。该写操作信息例如包括写信号和将非易失性存储器3的缓存数据写入缓存RAM41中的地址信息。第一RAM控制单元21根据所接收到的写操作信息,将需要写入非易失性存储器3的缓存数据存储于第一***RAM4的缓存RAM41中。在第一RAM控制单元21将缓存数据写入相应的缓存RAM41后,非易失性存储器控制单元22向第一RAM控制单元21发送读取存储于缓存RAM41中的需要写入非易失性存储器3的缓存数据的读命令。当然,也可以是在第一RAM控制单元21将缓存数据写入缓存RAM41的过程中,非易失性存储器控制单元22发出读取数据的读命令。第一RAM控制单元21根据该读命令读取存储于缓存RAM41中的需要写入非易失性存储器3的缓存数据,并将所读取的缓存数据发送给非易失性存储器控制单元22,从而非易失性存储器控制单元22将所接收到的缓存数据写入非易失性存储器3中,实现对非易失性存储器3的写操作。此外,在非易失性存储器控制单元22将存储于缓存RAM41中的需要写入非易失性存储器3的缓存数据写入非易失性存储器3后,同时向主控模块1和第一RAM控制单元21发送已经将缓存RAM41中的相应缓存数据写入非易失性存储器3的通知信号,以通知主控模块1可以将该用于存储该缓存数据的缓存RAM41继续作为***的内存正常使用,以及通知第一RAM控制单元21不需要再接收来自非易失性存储器控制单元22的命令,从而释放存储非易失性存储器3的缓存数据的缓存RAM41,由此能够充分利用第一***RAM4实现对非易失性存储器3的写访问,在提供***的性能同时,不需要额外增加非易失性存储器3的写缓存模块,能够减少芯片面积。当然,在其他实施方式中,第一RAM控制单元21和非易失性存储器控制单元22可以集成在同一个控制电路中实现。
参阅图3,并结合图4,本实施方式中,非易失性存储器控制单元22包括非易失性存储器写控制子单元221和缓存管理子单元222。具体地,非易失性存储器写控制子单元221,用于接收主控模块1对非易失性存储器3的写命令,并发出写操作控制信号;缓存管理子单元222,用于根据写操作控制信号,向第一RAM控制单元21发送写操作信息;非易失性存储器写控制子单元221,还用于向缓存管理子单元222发送读取存储于缓存RAM41中的缓存数据的读命令,以通过缓存管理子单元222将读命令发送给所述第一RAM控制单元21。
进一步地,参阅图3,并结合图4,本实施方式中,第一RAM控制单元21包括第一非易失性存储器命令处理子单元211、地址管理子单元216、RAM写控制子单元213以及RAM读控制子单元214。此外,第一RAM控制单元21除了接收来自非易失性存储器控制单元22的命令外,还会接收来自***的主控模块1的命令,因此,本实施方式的第一RAM控制单元21还包括第一中央处理器命令处理子单元212和第一选择子单元215。
第一中央处理器命令处理子单元212用于接收来自主控模块1的命令。第一选择子单元215根据非易失性存储器3是否为写操作期间,选择来自非易失性存储器控制单元22和主控模块1中的其中一方的命令发送给RAM写控制子单元213,即对来自第一中央处理 器命令处理子单元212和第一非易失性存储器命令处理子单元211的其中一方的命令进行选择,同时将RAM读控制子单元214的读取的数据选择返回。
当主控模块1发起对非易失性存储器3的写命令时,非易失性存储器写控制子单元221接收***的主控模块1发出的对非易失性存储器3的写命令,并将该写命令转换为写时序以进行写操作,同时向缓存管理子单元222发出写操作控制信号。缓存管理子单元222根据非易失性存储器写控制子单元221发送的写操作控制信号向第一RAM控制单元21发送写操作信息,该写操作信息包括写信号和将需要写入非易失性存储器3的缓存数据存储于缓存RAM41中的地址信息。在第一RAM控制单元21中,第一非易失性存储器命令处理子单元211用于接收缓存管理子单元222发送的写操作信息。第一选择子单元215选择来自第一非易失性存储器命令处理子单元211的写操作信息,将该写操作信息发送给RAM写控制子单元213。地址管理子单元216用于接收主控模块1在发出对非易失性存储器3的写命令时,接收主控模块1对用于存储需要写入非易失性存储器3的缓存数据的缓存RAM41的地址配置命令,同时还接收来自缓存管理子单元222的写操作信息,以根据写操作信息和地址配置命令生成RAM地址信息,该RAM地址信息包括用于存储非易失性存储器3的缓存数据的缓存RAM41在整个第一***RAM4中的地址(即基址)和非易失性存储器3的缓存数据存储于缓存RAM41中的地址(即偏址)。第一选择子单元215在非易失性存储器3的写操作期间,选择该相应的RAM地址信息发送给RAM写控制子单元213。RAM写控制子单元213根据来自第一选择子单元215的写操作信息和RAM地址信息,将需要写入非易失性存储器3的缓存数据存储于相应的缓存RAM41中。在RAM写控制子单元213将缓存数据写入相应的缓存RAM41中后,非易失性存储器写控制子单元221向缓存管理子单元222发出读取存储于缓存RAM41中的需要写入非易失性存储器3的缓存数据的读命令,以通过缓存管理子单元222将该读命令发送给第一非易失性存储器命令处理子单元211。第一选择子单元215选择来自第一非易失性第一非易失性存储器命令处理子单元211的读命令,将该读命令发送给RAM读控制子单元214。RAM读控制子单元214根据读命令从缓存RAM41中读取需要写入非易失性存储器3的缓存数据。第一选择子单元215将RAM读控制子单元214所读取的缓存数据选择返回给非易失性存储器命令处理子单元211,以通过非易失性存储器命令处理子单元211将数据发送给缓存管理子单元222。缓存管理子单元222将所接收到的缓存数据发送给非易失性存储器写控制子单元221,从而非易失性存储器写控制子单元221将缓存数据写入非易失性存储器3中,以实现对非易失性存储器3的写操作。
在非易失性存储器写控制子单元221将非易失性存储器3的缓存数据写入非易失性存储器3后,缓存管理子单元222根据非易失性存储写控制子单元221的写操作状态(即已经完成将数据写入非易失性存储器3中),同时向主控模块1和第一选择子单元215发送已经将缓存RAM41中的缓存数据写入非易失性存储器3的通知信号,以通知主控模块1可以将该用于存储需要写入非易失性存储器3的缓存数据的缓存RAM41仍然作为***的内存正常使用,以及通知第一选择子单元215不需要再对第一非易失性存储器命令处理子单元211的命令进行选择,从而释放存储非易失性存储器3的缓存数据的缓存RAM41。
本实施方式中,通过利用第一***RAM4的缓存RAM41作为非易失性存储器3在写操作期间的写缓存,并在将缓存RAM41中的需要写入非易失性存储器3的缓存数据写入非易失性存储器3后,释放用于存储需要写入非易失性存储器3的缓存数据的缓存RAM41,以 使缓存RAM41仍然作为***内存使用,能够提高***性能的同时,实现***存储器资源的复用,减少存储器资源的浪费,并且由于不需要增加额外的缓存模块,能够减少芯片的面积,有利于降低成本。当然,在其他实施方式中,也可以是完成非易失性存储器3的写操作的全部过程后释放缓存RAM41,此处不进行具体限定。
实施例2
图5示出本实施例中存储***的非易失性存储器的控制方法的流程图。该存储***包括用于控制非易失性存储器3的第一存储器控制模块2。第一存储器控制模块2分别与非易失性存储器3和***的主控模块1相连。该控制方法包括如下步骤:
S1:第一存储器控制模块2接收主控模块1对非易失性存储器3的写命令。第一存储器控制模块2用于控制对非易失性存储器3的访问。当***的主控模块1需要对非易失性存储器3进行写操作时,由第一存储器控制模块2接收***的主控模块1的写命令,以根据该写命令对非易失性存储器3进行写操作。
S2:第一存储器控制模块2根据写命令将需要写入非易失性存储器3的缓存数据存储于第一***RAM4中的缓存RAM41中。非易失性存储器3为慢速存储器。本实施方式中,在非易失性存储器3的写操作期间,在第一***RAM4预设或随机分配一部分以作为非易失性存储器3的写缓存的缓存RAM41,首先将需要写入非易失性存储器3的缓存数据先存储于缓存RAM41中,通过缓存RAM41能够使得缓存数据快速存储,从而提高***的性能。
S3:第一存储器控制模块2在完成对非易失性存储器3的写操作后,释放缓存RAM41。第一存储器控制模块2将存储于缓存RAM41中的缓存数据写入非易失性存储器3后,释放缓存RAM41,从而使得***的主控模块1可将该缓存RAM41继续作为***的内存使用,由此在提高***性能的同时,实现对***存储器的复用,能够避免存储器资源的浪费,且不需要额外增加非易失性存储器3的写缓存,能够减小芯片的面积,有利于降低成本。
其中,本实施方式中,第一存储器控制模块2包括非易失性存储器控制单元22和第一RAM控制单元21。
参阅图6,结合图5,步骤S1包括如下步骤:
S11:第一存储器控制模块2的非易失性存储器控制单元22接收主控模块1对非易失性存储器3的写命令。非易失性存储器控制单元22用于控制对非易失性存储器3的访问操作,***的主控模块1对非易失性存储器3的写命令由非易失性存储器控制单元22进行接收。进一步地,非易失性存储器控制单元22包括非易失性存储器写控制子单元221和缓存管理子单元222。非易失性存储器写控制子单元221接收***的主控模块1对非易失性存储器3的写命令,并向缓存管理子单元222发送写操作控制信号。参考图7,步骤S11包括如下步骤:
S111:非易失性存储器控制单元22的非易失性存储器写控制子单元221接收主控模块1对非易失性存储器3的写命令,并发出写操作控制信号。
S12:非易失性存储器控制单元22根据写命令向第一存储器控制模块2的第一RAM控制单元21发送写操作信息。具体地,缓存管理子单元222接收到非易失性存储器写控制子单元221发送的写操作控制信号后,根据该写操作控制信号向第一RAM控制单元21发送写操作信息。参考图7,步骤S12包括如下步骤:S121:非易失性存储器控制单元22的 缓存管理子单元222接收写操作控制信号,并根据写操作控制信号向第一RAM控制单元21发送写操作信息。
参阅图6,结合图5,步骤S2包括如下步骤:
S21:第一RAM控制单元21根据写操作信息将需要写入非易失性存储器3的缓存数据存储于缓存RAM41中。第一RAM控制单元21用于控制对第一***RAM4的访问操作。在对非易失性存储器3进行写操作时,通过第一RAM控制单元21先将需要写入非易失性存储器3的缓存数据快速存储于第一***RAM4的缓存RAM41中,以提高***性能。具体地,第一RAM控制单元21包括第一非易失性存储器命令处理子单元211、地址管理子单元216、RAM写控制子单元213、RAM读控制子单元214、第一中央处理器命令处理子单元212以及第一选择子单元215。结合图7,S21步骤具体包括如下步骤:
S211:第一RAM控制单元21的第一非易失性存储器命令处理子单元211接收来自非易失性存储器控制单元22的写操作信息。具体地,第一非易失性存储器命令处理子单元211用于接收来自非易失性存储器控制单元22的信号。
S212:第一RAM控制单元21的地址管理子单元216接收写操作信息,并根据写操作信息和主控模块1对非易失性存储器3发出的写命令时形成的主控模块1对用于存储缓存数据的缓存RAM41的地址配置命令,生成用于存储缓存数据的缓存RAM41的RAM地址信息。其中,RAM地址信息包括用于存储非易失性存储器3的缓存数据的缓存RAM41在第一***RAM4中的地址(即基址)和非易失性存储器3的缓存数据存储于缓存RAM41中的地址(即偏址)。
S213:第一RAM控制单元21的第一选择子单元215选择RAM地址信息和非易失性存储器3命令处理子单元所接收的写操作信息进行发送。第一RAM控制单元21除了接收来自非易失性存储器控制单元22的命令外,还会接收来自***主控模块1的命令,第一RAM控制单元21的第一中央处理器命令处理子单元212用于接收来自主控模块1的命令。第一选择子单元215根据非易失性存储器3是否为写操作期间,选择来自非易失性存储器控制单元22和主控模块1的其中一方的命令发送给RAM写控制子单元213,即对来自第一中央处理器命令处理子单元212和第一非易失性存储器命令处理子单元211的其中一方的命令进行选择,同时将RAM读控制子单元214的读取的缓存数据选择返回。
S214:第一RAM控制单元21的RAM写控制子单元213根据来自第一选择子单元215发送的RAM地址信息和写操作信息将缓存数据存储于缓存RAM41中。通过上述步骤,第一RAM控制单元21实现将需要写入非易失性存储器3的缓存数据写入第一***RAM4的缓存RAM41中。
参阅图6,结合图5,步骤S3包括如下步骤:
S31:非易失性存储器控制单元22向第一RAM控制单元21发送读取存储于缓存RAM41中的缓存数据的读命令。当第一RAM控制单元21将需要写入非易失性存储器3的缓存数据写入非易失性存储器3后,非易失性存储器控制单元22的非易失性存储器写控制子单元221向缓存管理子单元222发送读取存储于缓存RAM41中的需要写入非易失性存储器3的缓存数据的读命令。缓存管理子单元222接收该读命令,并将所读取的读命令发送给第一RAM控制单元21的第一非易失性存储器命令处理子单元211。参考图1,步骤S31包括如下步骤:
S311:非易失性存储器写控制子单元221向缓存管理子单元222发送读取存储于缓存RAM41中的缓存数据的读命令。
S312:缓存管理子单元222接收读命令,并将读命令发送给第一RAM控制单元21。
S32:第一RAM控制单元21根据读命令读取存储于缓存RAM41中的缓存数据,并将读取的缓存数据发送给非易失性存储器控制单元22。参考图7,步骤S32包括如下步骤:
S321:第一非易失性存储器命令处理子单元211接收读命令。
S322:第一选择子单元215选择第一非易失性存储器命令处理子单元211所接收的读命令进行发送。
S323:第一RAM控制单元21的RAM读控制子单元214根据来自第一选择子单元215发送的读命令读取存储于缓存RAM41中的需要写入非易失性存储器3的缓存数据,并将所读取的缓存数据发送给非易失性存储器写控制子单元221。RAM读控制子单元214读取缓存RAM41中的需要写入非易失性存储器3的缓存数据后,第一选择子单元215选择将RAM读控制子单元214所读取的缓存数据进行返回给第一非易失性存储器命令处理子单元211,以通过第一非易失性存储器命令处理子单元211将缓存数据发送给缓存管理子单元222。缓存管理子单元222将所接收到的缓存数据发送给非易失性存储器写控制子单元221。
S33:非易失性存储器控制单元22将缓存数据写入非易失性存储器3,以完成对非易失性存储器3的写操作。具体地,非易失性存储器写控制子单元221将缓存数据写入非易失性存储器3中。参考图7,步骤S33包括如下步骤:
S331:非易失性存储器写控制子单元221将缓存数据写入非易失性存储器3中,以完成对非易失性存储器3的写操作.
S34:非易失性存储器控制单元22向第一RAM控制单元21和主控模块1发送完成将缓存数据写入非易失性存储器3的通知信号,以释放缓存RAM41。参考图7,步骤S34包括如下步骤:
S341:缓存管理子单元222在非易失性存储器写控制子单元221将缓存数据写入所述非易失性存储器3后,向第一选择子单元215和***的主控模块1发送完成将缓存数据写入非易失性存储器3的通知信号,以通知第一选择子单元215不需要再对非易失性存储器3命令处理子单元的命令进行选择,以及通知主控模块1可以将该用于存储需要写入非易失性存储器3的缓存数据的缓存RAM41作为***的内存正常使用,从而释放用于存储需要写入非易失性存储器3的缓存数据的缓存RAM41。
实施例3
图8示出本实施例中的存储***。该存储***包括主控模块1、第一存储器控制模块2、非易失性存储器3和缓存模块7,第一存储器控制模块2分别与主控模块1、非易失性存储器3和缓存模块7相连。其中,该主控模块1为***的中央处理器(CPU),缓存模块7为在***中所增加的一个写缓存。该存储***还包括与所述主控模块1相连的第二存储器控制模块5、以及与第二存储器控制模块5相连的第二***RAM6。第二***RAM6为***的内存,第二存储器控制模块5用于控制对RAM的访问操作。具体地,第二存储器控制模块5用于在接收到主控模块1对第二***RAM6的读命令时,读取第二***RAM6中的缓存数据;在接收到主控模块1对第二***RAM6的写命令时将需要写入第二***RAM6中的 缓存数据写入第二***RAM6中。
具体地,第二存储器控制模块5用于在接收到主控模块1对第二***RAM6的读命令时读取存储在第二***RAM6中的缓存数据,以及在接收到主控模块1对第二***RAM6的写命令时将需要写入第二***RAM6中的缓存数据写入第二***RAM6中。
第一存储器控制模块2则用于控制对非易失性存储器3的访问操作。在主控模块1发出对所述非易失性存储器3的写命令时,第一存储器控制模块2根据写命令将需要写入非易失性存储器3的缓存数据存储于缓存模块7中。可以理解地,在将需要写入非易失性存储器3的缓存数据存储于缓存模块7后,或者也可以是将需要写入非易失性存储器3的缓存数据存储于缓存模块7的过程中,第一存储器控制模块2读取缓存模块7中已经存储的需要写入非易失性存储器3的缓存数据,并将所读取的缓存数据写入非易失性存储器3中,从而实现对非易失性存储器3的写操作。该缓存模块7可使用寄存器组或随机访问存储器实现。通过设置缓存模块7,能够将非易失性存储器3的缓存数据快速存储于缓存模块7中,以便***可执行其他的操作,从而能够提高***的性能。
第一存储器控制模块2在完成对非易失性存储器3的写操作后,以及在主控模块1不对非易失性存储器3发出写命令时,向主控模块1发送已经完成将缓存模块7中的非易失性存储器3的缓存数据写入非易失性存储器3的通知信号,以通知主控模块1可以将缓存模块7当作***的内存或其他存储使用,以释放缓存模块7;由此能够使缓存模块7得到充分利用,减少存储器资源的浪费,且增加***内存的容量。
当然,在其他实施方式中,也可以是在将缓存模块7的缓存数据写入非易失性存储器3的过程中,即将用于存储已经写完的非易失性存储器3的缓存数据的缓存模块7的操作权限释放给主控模块1,也可以是在完成非易失性存储器3的写操作的所有过程后将缓存模块7的操作权限释放给主控模块1,还可以是完成非易失性存储器3的写操作后,在设定时间之后将缓存模块7的操作权限释放给主控模块1,此处不进行具体限定。
继续参阅图8,并结合图9,第一存储器控制模块2包括缓存控制单元23和非易失性存储器控制单元22。其中,当需要对非易失性存储器3写入缓存数据时,主控模块1发出写命令,非易失性存储器控制单元22接收主控模块1发出的对非易失性存储器3的写命令,并将该写命令转换为写时序,以在后续过程根据写时序将缓存数据写入非易失性存储器3。
非易失性存储器控制单元22,用于接收主控模块1发出的对非易失性存储器3的写命令,并根据写命令向缓存控制单元23发送写操作信息。具体地,该写操作信息例如包括写信号和将非易失性存储器3的缓存数据写入缓存模块7中的地址信息。
缓存控制单元23,用于根据所接收的写操作信息,将需要写入非易失性存储器3的缓存数据存储于缓存模块7中。
在缓存控制单元23将需要写入非易失性存储器3的缓存数据存储于缓存模块7中之后,或者在缓存控制单元23将该缓存数据存储于缓存模块7的过程中,非易失性存储器控制单元22,向缓存控制单元23发送读取已经存储于缓存模块7中的非易失性存储器3的缓存数据的读命令。
缓存控制单元23根据接收到的读命令读取存储于缓存模块7中的需要写入非易失性存储器3的缓存数据,并将读取的缓存数据发送给非易失性存储器控制单元22,从而使非 易失性存储器控制单元22将所接收到的缓存数据写入非易失性存储器3中,以实现对非易失性存储器3的写操作。
此外,非易失性存储器控制单元22还在将缓存模块7中的非易失性存储器3的缓存数据写入非易失性存储器3后,同时向缓存控制单元23和主控模块1发送完成将缓存数据写入非易失性存储器3的通知信号,以通知主控模块1可以将缓存模块7当作***的内存或其他存储使用,以及通知缓存控制单元23不需要再接收来自非易失性存储器控制单元22的命令,以释放缓存模块7。主控模块1可以在将缓存模块7的缓存数据写入非易失性存储器3后,将缓存模块7作为***的内存使用,由此能够使得缓存模块7得到充分利用,减少存储器资源的浪费,且能够增加***内存的容量。
此外,在非易失性存储器3的非写操作时期,即主控模块1不对非易失性存储器3发出命令时,缓存模块7的操作权限也释放给主控模块1,从而主控模块1在非易失性存储器3的非写操作期间可以将缓存模块7作为***的内存或其他存储使用,从而能够使缓存模块7得到充分利用。
进一步地,参阅图10,并结合图11,非易失性存储器控制单元22包括非易失性存储器写控制子单元221和缓存管理子单元222。非易失性存储器写控制子单元221,用于接收主控模块1对非易失性存储器3的写命令,并发出写操作控制信号。缓存管理子单元222,用于根据写操作控制信号,向缓存控制单元23发送写操作信息。非易失性存储器写控制子单元221还用于向缓存管理子单元222发送读取缓存模块7中的缓存数据的读命令,以通过缓存管理子单元222将读命令向缓存控制单元23发送。
参阅图10,并结合图11,缓存控制单元23用于接收来自非易失性存储器控制单元22的命令外,还会接收来自主控模块1的命令,具体地,缓存控制单元23包括第二非易失性存储器命令处理子单元231、第二中央处理器命令处理子单元232、缓存写控制子单元233、缓存读控制子单元234以及第二选择子单元235。进一步地,第二中央处理器命令处理子单元232,用于接收主控模块1的命令。第二非易失性存储器命令处理子单元231,用于接收写操作信息和读命令。第二选择子单元235用于在非易失性存储器3的写操作时,选择第二非易失性存储器命令处理子单元231所接收的写操作信息和读命令进行发送。具体地,第二选择子单元235选择将该写操作信息发送给缓存写控制子单元233。缓存写控制子单元233根据来自所述第二选择子单元235发送的写操作信息,将需要写入非易失性存储器3的缓存数据存储于缓存模块7中。
在缓存写控制子单元233将缓存数据写入缓存模块7后,非易失性存储器写控制子单元221向缓存管理子单元222发送读取缓存模块7中的需要写入非易失性存储器3的缓存数据的读命令,以通过缓存管理子单元222向第二非易失性存储器命令处理单元231发送读命令。第二选择子单元235选择来自第二非易失性存储器命令处理单元231的读命令,将该读命令发送给缓存读控制子单元234。
缓存读控制子单元234根据来自第二选择子单元235发送的读命令,读取存储于缓存模块7中的需要写入非易失性存储器3的缓存数据,并将所读取的缓存数据发送给非易失性存储器写控制子单元221。缓存管理子单元222将所接收到的缓存数据发送给非易失性存储器写控制子单元221,通过非易失性存储器写控制子单元221将缓存数据写入非易失性存储器3中,以实现对非易失性存储器3的写操作。
缓存管理子单元222还用于在非易失性存储器写控制子单元221将缓存模块7中的非易失性存储器3的缓存数据写入非易失性存储器3后,同时向第二选择子单元235和主控模块1发送完成将缓存数据写入非易失性存储器3的通知信号,以通知主控模块1可以将缓存模块7当作***的内存或其他存储使用,以及通知第二选择子单元235不需要再选择来自非易失性存储器控制单元22的命令,释放缓存模块7。主控模块1可以在当缓存模块7的缓存数据写入非易失性存储器3后,将缓存模块7作为***的内存使用,并且在非易失性存储器3的非写操作期间,主控模块1仍然可以将缓存模块7作为***的内存使用,由此能够使缓存模块7得到充分利用,且能够增加***内存的容量。
实施例4
图12示出本实施例中存储***的非易失性存储器的控制方法的流程图。该存储***包括用于控制非易失性存储器3的第一存储器控制模块2。第一存储器控制模块2分别与非易失性存储器3和***的主控模块1相连。可以理解地,第一存储器控制模块2与主控模块1(即***的中央处理器)相连,用于接收主控模块1的命令。本实施例中,第一存储器控制模块2包括非易失性存储器控制单元22和缓存控制单元23。该控制方法包括如下步骤:
S5:第一存储器控制模块2接收***的主控模块1发送的对非易失性存储器3的写命令。具体地,第一存储器控制模块2用于控制对非易失性存储器3的访问。当***的主控模块1需要对非易失性存储器3进行写操作时,由第一存储器控制模块2接收***的写命令,以根据该写命令对非易失性存储器3进行写操作。
S6:第一存储器控制模块2根据写命令将需要写入非易失性存储器3的缓存数据存储于缓存模块7中。由于非易失性存储器3为慢速存储器,因此在***中增加一缓存模块7作为非易失性存储器3的写缓存以提高***性能。通过缓存模块7的作用,能够将非易失性存储器3的缓存数据快速存储于缓存模块7中,以便***可执行其他的操作。
S7:第一存储器控制模块2在完成对非易失性存储器3的写操作后以及在***不对所述非易失性存储器3发出写命令时,释放缓存模块7。第一存储器控制模块2将暂时存储于缓存模块7中的非易失性存储器3的缓存数据写入非易失性存储器3中,以完成对非易失性存储器3的写操作,之后将缓存模块7的操作权限释放给***,从而***可将该缓存模块7作为***的内存或其他存储使用,由此能够使得缓存模块7得到充分的利用,减少存储器资源的浪费,且能够增加***内存的容量。
参阅图13,结合图12,步骤S5包括如下步骤:
S51:第一存储器控制模块2的非易失性存储器控制单元22接收***的主控模块1对非易失性存储器3的写命令。非易失性存储器控制单元22用于控制对非易失性存储器3的访问,***的主控模块1对非易失性存储器3的写命令由非易失性存储器控制单元22接收。进一步地,非易失性存储器控制单元22包括非易失性存储器写控制子单元221和缓存管理子单元222。相应地,参阅图14,步骤S51包括如下步骤:S511:非易失性存储器控制单元22的非易失性存储器写控制子单元221接收***的主控模块1对非易失性存储器3的写命令,并发出写操作控制信号。
S52:非易失性存储器控制单元22根据写命令向第一存储器控制模块2的缓存控制单 元23发送写操作信息。相应地,参阅图14,步骤S52包括如下步骤:S521:非易失性存储器控制单元22的缓存管理子单元222接收写操作控制信号,并根据写操作控制信号向缓存控制单元23发送写操作信息;从而,缓存控制单元23根据所接收到的写操作信息将需要写入非易失性存储器3的缓存数据存储于缓存模块7中。缓存控制单元23用于控制对缓存模块7的访问。在对非易失性存储器3进行写操作时,通过缓存控制单元23首先将需要写入非易失性存储器3的缓存数据写入缓存模块7中,以提高***性能。
参阅图13,结合图12,步骤S6包括如下步骤:
S61:第一存储器控制模块2的缓存控制单元23根据写操作信息将缓存数据存储于缓存模块7中。进一步地,缓存控制单元23包括第二非易失性存储器命令处理子单元231、第二中央处理器命令处理子单元232、缓存写控制子单元233、缓存读控制子单元234以及第二选择子单元235。参考图14,步骤S61包括如下步骤:
S611:缓存控制单元23的第二非易失性存储器命令处理子单元231接收写操作信息。
S612:缓存控制单元23的第二选择子单元235选择第二非易失性存储器命令处理子单元231所接收的写操作信息进行发送。
S613:缓存控制单元23的缓存写控制子单元233根据来自第二选择子单元235发送的写操作信息将缓存数据存储于缓存模块7中。通过上述步骤S611-S613,缓存控制单元23实现将需要写入非易失性存储器3的缓存数据写入缓存模块7中。
参阅图13,结合图12,步骤S7包括如下步骤:
S71:非易失性存储器控制单元22向缓存控制单元23发送读取缓存模块7中的缓存数据的读命令.具体地,非易失性存储器控制单元22包括非易失性存储器写控制子单元221和缓存管理子单元222。参阅图14,步骤S71包括如下步骤:
S711:非易失性存储器控制单元22的非易失性存储器写控制子单元221向缓存管理子单元222发送读取缓存模块7中的需要写入非易失性存储器3的缓存数据的读命令。
S712:缓存管理子单元222接收读命令,并将读命令发送给缓存控制单元23的第二非易失性存储器命令处理子单元231。
S72:缓存控制单元23根据读命令读取存储于缓存模块7中的缓存数据,并将所读取的缓存数据发送给非易失性存储器控制单元22。参考图14,步骤S72包括如下步骤:
S721:第二非易失性存储器命令处理子单元231接收读取缓存模块7中的需要写入非易失性存储器3的缓存数据的读命令。
S722:第二选择子单元235选择第二非易失性存储器命令处理子单元231所接收的读命令进行发送。
S723:缓存控制单元23的缓存读控制子单元234根据来自第二选择子单元235发送的读命令读取存储于缓存模块7中的缓存数据,并将所读取的缓存数据发送给非易失性存储器写控制子单元221。
具体地,缓存读控制子单元234读取缓存模块7中的非易失性存储器3的缓存数据后,第二选择子单元235选择缓存读控制子单元234所读取的缓存数据,并返回给第二非易失性存储器命令处理子单元231。第二非易失性存储器命令处理子单元231将所接收到的缓存数据发送给缓存管理子单元222,从而缓存管理子单元222将缓存数据发送给非易失性存储器写控制子单元221。
S73:非易失性存储器控制单元22将缓存数据写入所述非易失性存储器3中,以完成对所述非易失性存储器3的写操作。参考图14,步骤S73包括如下步骤:S731:非易失性存储器控制单元22的非易失性存储器写控制子单元221将缓存数据写入非易失性存储器3中,以完成对所述非易失性存储器3的写操作。
S74:非易失性存储器控制单元22向缓存控制单元23和主控模块1发送完成将缓存数据写入非易失性存储器3的通知信号,以释放缓存模块7。参考图14,步骤S74包括如下步骤:S741:缓存管理子单元222在非易失性存储器写控制子单元221将缓存数据写入非易失性存储器3后,向第二选择子单元235和***的主控模块1发送完成将缓存数据写入非易失性存储器3的通知信号,以通知第二选择子单元235不需要再选择来自非易失性存储器控制单元22的信号,以及通知***的主控模块1可以将缓存模块7作为***的内存或其他存储使用,以释放缓存模块7。由此,主控模块1可以在非易失性存储器3的非写操作期间,将缓存模块7作为内存或其他存储使用,充分利用存储器资源,并且能够增加***内存的容量。
本发明是通过几个具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换和等同替代。另外,针对特定情形或具体情况,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。

Claims (18)

  1. 一种存储***,其特征在于,包括:主控模块(1)、第一存储器控制模块(2)、非易失性存储器(3)和第一***RAM(4),所述第一存储器控制模块(2)分别与所述主控模块(1)、所述非易失性存储器(3)和所述第一***RAM(4)相连;所述第一***RAM(4)中预设或随机分配有缓存RAM(41);
    在所述主控模块(1)发出对所述非易失性存储器(3)的写命令时,所述第一存储器控制模块(2)用于根据所述写命令将需要写入所述非易失性存储器(3)的缓存数据存储于所述缓存RAM(41)中,并在完成对所述非易失性存储器(3)的写操作后,释放所述缓存RAM(41)。
  2. 根据权利要求1所述的存储***,其特征在于,所述第一存储器控制模块(2)包括第一RAM控制单元(21)和非易失性存储器控制单元(22);
    所述非易失性存储器控制单元(22),用于接收所述主控模块(1)发出的对所述非易失性存储器(3)的写命令,并根据所述写命令向所述第一RAM控制单元(21)发送写操作信息;
    所述第一RAM控制单元(21),用于根据所述写操作信息将所述缓存数据存储于所述缓存RAM(41)中;
    所述非易失性存储器控制单元(22),还用于向所述第一RAM控制单元(21)发送读取存储于所述缓存RAM(41)中的所述缓存数据的读命令;
    所述第一RAM控制单元(21),还用于根据所述读命令读取存储于所述缓存RAM(41)中的所述缓存数据,并将读取的所述缓存数据发送给所述非易失性存储器控制单元(22);
    所述非易失性存储器控制单元(22),还用于在将所述缓存数据写入所述非易失性存储器(3)后,向所述第一RAM控制单元(21)和所述主控模块(1)发送完成将所述缓存数据写入所述非易失性存储器(3)的通知信号,以释放用于存储所述缓存数据的缓存RAM(41)。
  3. 根据权利要求2所述的存储***,其特征在于,所述非易失性存储器控制单元(22)包括:非易失性存储器写控制子单元(221),用于接收所述主控模块(1)对非易失性存储器(3)的所述写命令,并发出写操作控制信号;
    缓存管理子单元(222),用于根据所述写操作控制信号,向所述第一RAM控制单元(21)发送所述写操作信息;
    所述非易失性存储器写控制子单元(221),还用于向所述缓存管理子单元(222)发送读取存储于所述缓存RAM(41)中的所述缓存数据的所述读命令,以通过所述缓存管理子单元(222)将所述读命令发送给所述第一RAM控制单元(21)。
  4. 根据权利要求3所述的存储***,其特征在于,所述第一RAM控制单元(21)包括:
    第一中央处理器命令处理子单元(212);
    第一非易失性存储器命令处理子单元(211),用于接收所述写操作信息和所述读命令;
    地址管理子单元(216),用于接收所述写操作信息和所述主控模块(1)在发出对非易失性存储器(3)的所述写命令时,所述主控模块(1)生成对用于存储所述缓存数据的缓存RAM(41)的地址配置命令,并根据所述写操作信息和所述地址配置命令生成用于存 储所述缓存数据的缓存RAM(41)的RAM地址信息;
    第一选择子单元(215),用于在所述非易失性存储器(3)的写操作时,选择所述RAM地址信息和所述第一非易失性存储器命令处理子单元(211)所接收到的所述写操作信息和所述读命令进行发送;
    RAM写控制子单元(213),用于根据来自所述第一选择子单元(215)发送的所述RAM地址信息和所述写操作信息将需要写入所述非易失性存储器(3)的缓存数据存储于所述缓存RAM(41)中;
    RAM读控制子单元(214),用于根据来自所述第一选择子单元(215)发送的所述读命令读取存储于所述缓存RAM(41)中的所述缓存数据,并将读取的所述缓存数据发送给所述第一非易失性存储器写控制子单元(221);
    其中,所述缓存管理子单元(222)在所述非易失性存储器写控制子单元(221)将所述缓存数据写入所述非易失性存储器(3)后,向所述第一选择子单元(215)和所述主控模块(1)发送完成将所述缓存数据写入所述非易失性存储器(3)的通知信号,以释放用于存储所述缓存数据的所述缓存RAM(41)。
  5. 权利要求1-4任一项所述的存储***的非易失性存储器的控制方法,其特征在于,包括如下步骤:
    S1:第一存储器控制模块(2)接收主控模块(1)对非易失性存储器(3)的写命令;
    S2:所述第一存储器控制模块(2)根据所述写命令将需要写入所述非易失性存储器(3)的缓存数据存储于第一***RAM(4)中的缓存RAM(41)中;
    S3:所述第一存储器控制模块(2)在完成对所述非易失性存储器(3)的写操作后,释放所述缓存RAM(41)。
  6. 根据权利要求5所述的存储***的非易失性存储器的控制方法,其特征在于,
    所述步骤S1包括如下步骤:
    S11:所述第一存储器控制模块(2)的非易失性存储器控制单元(22)接收所述主控模块(1)对所述非易失性存储器(3)的写命令;
    S12:所述非易失性存储器控制单元(22)根据所述写命令向所述第一存储器控制模块(2)的第一RAM控制单元(21)发送写操作信息;
    所述步骤S2包括如下步骤:
    S21:所述第一RAM控制单元(21)根据所述写操作信息将所述缓存数据存储于所述缓存RAM(41)中;
    所述步骤S3包括如下步骤:
    S31:所述非易失性存储器控制单元(22)向所述第一RAM控制单元(21)发送读取存储于所述缓存RAM(41)中的所述缓存数据的读命令;
    S32:所述第一RAM控制单元(21)根据所述读命令读取存储于所述缓存RAM(41)中的所述缓存数据,并将读取的所述缓存数据发送给所述非易失性存储器控制单元(22);
    S33:所述非易失性存储器控制单元(22)将所述缓存数据写入所述非易失性存储器(3),以完成对所述非易失性存储器(3)的写操作;
    S34:所述非易失性存储器控制单元(22)向所述第一RAM控制单元(21)和所述主控模块(1)发送完成将所述缓存数据写入所述非易失性存储器(3)的通知信号,以释放 所述缓存RAM(41)。
  7. 根据权利要求6所述的存储***的非易失性存储器的控制方法,其特征在于,
    所述步骤S11包括如下步骤:S111:所述非易失性存储器控制单元(22)的非易失性存储器写控制子单元(221)接收所述主控模块(1)对非易失性存储器(3)的所述写命令,并发出写操作控制信号;
    所述步骤S12包括如下步骤:S121:所述非易失性存储器控制单元(22)的缓存管理子单元(222)接收所述写操作控制信号,并根据所述写操作控制信号向所述第一RAM控制单元(21)发送所述写操作信息;
    所述步骤S31包括如下步骤:
    S311:所述非易失性存储器写控制子单元(221)向所述缓存管理子单元(222)发送读取存储于所述缓存RAM(41)中的所述缓存数据的所述读命令;
    S312:所述缓存管理子单元(222)接收所述读命令,并将所述读命令发送给所述第一RAM控制单元(21)。
  8. 根据权利要求7所述的存储***的非易失性存储器的控制方法,其特征在于,
    所述S21步骤包括:
    S211:所述第一RAM控制单元(21)的第一非易失性存储器命令处理子单元(211)接收所述写操作信息;
    S212:所述第一RAM控制单元(21)的地址管理子单元(216)接收所述写操作信息,并根据所述写操作信息和所述主控模块(1)对非易失性存储器(3)发出的所述写命令时形成的所述主控模块(1)对用于存储所述缓存数据的缓存RAM(41)的地址配置命令,生成用于存储所述缓存数据的缓存RAM(41)的RAM地址信息;
    S213:所述第一RAM控制单元(21)的第一选择子单元(215)选择所述RAM地址信息和所述第一非易失性存储器命令处理子单元(211)所接收的所述写操作信息进行发送;
    S214:所述第一RAM控制单元(21)的RAM写控制子单元(213)根据来自所述第一选择子单元(215)发送的所述RAM地址信息和所述写操作信息将所述缓存数据存储于所述缓存RAM(41)中;
    所述步骤S32包括如下步骤:
    S321:所述第一非易失性存储器命令处理子单元(211)接收所述读命令;
    S322:所述第一选择子单元(215)选择所述第一非易失性存储器命令处理子单元(211)所接收的读命令进行发送;
    S323:所述第一RAM控制单元(21)的RAM读控制子单元(214)根据来自所述第一选择子单元(215)发送的所述读命令读取存储于所述缓存RAM(41)中的需要写入所述非易失性存储器(3)的缓存数据,并将所读取的所述缓存数据发送给所述非易失性存储器写控制子单元(221);
    所述步骤S33包括如下步骤:
    S331:所述非易失性存储器写控制子单元(221)将所述缓存数据写入所述非易失性存储器(3)中,以完成对所述非易失性存储器(3)的写操作;
    所述步骤S34包括如下步骤:
    S341:所述缓存管理子单元(222)在所述非易失性存储器写控制子单元(221)将所 述缓存数据写入所述非易失性存储器(3)后,向所述第一选择子单元(215)和主控模块(1)发送完成将所述缓存数据写入所述非易失性存储器(3)的通知信号,以释放所述缓存RAM(41)。
  9. 一种存储***,其特征在于,包括:主控模块(1)、第一存储器控制模块(2)、非易失性存储器(3)和缓存模块(7),所述第一存储器控制模块(2)分别与所述主控模块(1)、所述非易失性存储器(3)和所述缓存模块(7)相连;
    所述第一存储器控制模块(2)用于在所述主控模块(1)发出对所述非易失性存储器(3)的写命令时,根据所述写命令将需要写入所述非易失性存储器(3)的缓存数据存储于所述缓存模块(7)中,并在完成对所述非易失性存储器(3)的写操作后以及在所述主控模块(1)不对所述非易失性存储器(3)发出写命令时,释放所述缓存模块(7)。
  10. 根据权利要求9所述的存储***,其特征在于:还包括与所述主控模块(1)相连的第二存储器控制模块(5)、和与所述第二存储器控制模块(5)相连的第二***RAM(6);
    所述第二存储器控制模块(5)用于在接收到所述主控模块(1)对所述第二***RAM(6)的读命令时读取存储在所述第二***RAM(6)中的缓存数据,以及在接收到所述主控模块(1)对所述第二***RAM(6)的写命令时将需要写入所述第二***RAM(6)中的缓存数据写入所述第二***RAM(6)中。
  11. 根据权利要求9所述的存储***,其特征在于,所述缓存模块(7)为寄存器组。
  12. 根据权利要求9~11任一项所述的存储***,其特征在于,所述第一存储器控制模块(2)包括缓存控制单元(23)和非易失性存储器控制单元(22);
    所述非易失性存储器控制单元(22),用于接收所述主控模块(1)发出的对所述非易失性存储器(3)的写命令,并根据所述写命令向所述缓存控制单元(23)发送写操作信息;
    所述缓存控制单元(23),用于根据所述写操作信息将所述缓存数据存储于所述缓存模块(7)中;
    所述非易失性存储器控制单元(22),还用于向所述缓存控制单元(23)发送读取所述缓存模块(7)中的所述缓存数据的读命令;
    所述缓存控制单元(23),还用于根据所述读命令读取存储于所述缓存模块(7)中的所述缓存数据,并将读取的所述缓存数据发送给所述非易失性存储器控制单元(22);
    所述非易失性存储器控制单元(22),用于在将所述缓存数据写入所述非易失性存储器(3)后,向所述缓存控制单元(23)和所述主控模块(1)发送完成将所述缓存数据写入所述非易失性存储器(3)的通知信号,以释放所述缓存模块(7)。
  13. 根据权利要求12所述的存储***,其特征在于,所述非易失性存储器控制单元(22)包括:
    非易失性存储器写控制子单元(221),用于接收所述主控模块(1)对所述非易失性存储器(3)的所述写命令,并发出写操作控制信号;
    缓存管理子单元(222),用于根据所述写操作控制信号,向所述缓存控制单元(23)发送所述写操作信息;
    所述非易失性存储器写控制子单元(221)还用于向所述缓存管理子单元(222)发送读取所述缓存模块(7)中的所述缓存数据的所述读命令,以通过所述缓存管理子单元(222) 将所述读命令向所述缓存控制单元(23)发送。
  14. 根据权利要求13所述的存储***,其特征在于,所述缓存控制单元(23)包括:
    第二中央处理器命令处理子单元(232);
    第二非易失性存储器命令处理子单元(231),用于接收所述写操作信息和所述读命令;
    第二选择子单元(235),用于在所述非易失性存储器(3)的写操作时,选择所述第二非易失性存储器命令处理子单元(231)所接收的所述写操作信息和所述读命令进行发送:
    缓存写控制子单元(233),用于根据来自所述第二选择子单元(235)发送的所述写操作信息将所述缓存数据存储于所述缓存模块(7)中;
    缓存读控制子单元(234),用于根据来自所述第二选择子单元(235)发送的所述读命令读取存储于所述缓存模块(7)中的所述缓存数据,并将所读取的所述缓存数据发送给所述非易失性存储器写控制子单元(221);
    其中,所述缓存管理子单元(222)还用于在所述非易失性存储器写控制子单元(221)将所述缓存数据写入所述非易失性存储器(3)后,向所述第二选择子单元(235)和所述主控模块(1)发送完成将所述缓存数据写入所述非易失性存储器(3)的通知信号,释放所述缓存模块(7)。
  15. 权利要求9-14任一项所述的存储***的非易失性存储器的控制方法,其特征在于,包括如下步骤:
    S5:第一存储器控制模块(2)接收***对非易失性存储器(3)的写命令;
    S6:所述第一存储器控制模块(2)根据所述写命令将需要写入所述非易失性存储器(3)的缓存数据存储于缓存模块(7)中;
    S7:所述第一存储器控制模块(2)在完成对所述非易失性存储器(3)的写操作后以及在***不对所述非易失性存储器(3)发出写命令时,释放所述缓存模块(7)。
  16. 根据权利要求15所述的存储***的非易失性存储器的控制方法,其特征在于,
    所述步骤S5包括如下步骤:
    S51:所述第一存储器控制模块(2)的非易失性存储器控制单元(22)接收主控模块(1)对非易失性存储器(3)的写命令;
    S52:所述非易失性存储器控制单元(22)根据所述写命令向所述第一存储器控制模块(2)的缓存控制单元(23)发送写操作信息;
    所述步骤S6包括如下步骤:
    S61:所述第一存储器控制模块(2)的缓存控制单元(23)根据所述写操作信息将所述缓存数据存储于所述缓存模块(7)中;
    所述步骤S7包括如下步骤:
    S71:所述非易失性存储器控制单元(22)向所述缓存控制单元(23)发送读取所述缓存模块(7)中的所述缓存数据的读命令;
    S72:所述缓存控制单元(23)根据所述读命令读取存储于所述缓存模块(7)中的所述缓存数据,并将所读取的所述缓存数据发送给所述非易失性存储器控制单元(22);
    S73:所述非易失性存储器控制单元(22)将所述缓存数据写入所述非易失性存储器(3)中,以完成对所述非易失性存储器(3)的写操作;
    S74:所述非易失性存储器控制单元(22)向所述缓存控制单元(23)和所述主控模块(1)发送完成将所述缓存数据写入所述非易失性存储器(3)的通知信号,以释放所述缓存模块(7)。
  17. 根据权利要求16所述的存储***的非易失性存储器的控制方法,其特征在于,
    所述步骤S51包括如下步骤:
    S511:所述非易失性存储器控制单元(22)的非易失性存储器写控制子单元(221)接收所述主控模块(1)对所述非易失性存储器(3)的所述写命令,并发出写操作控制信号;
    所述步骤S52包括如下步骤:
    S521:所述非易失性存储器控制单元(22)的缓存管理子单元(222)接收所述写操作控制信号,并根据所述写操作控制信号向所述缓存控制单元(23)发送所述写操作信息;
    所述步骤S71包括如下步骤:
    S711:所述非易失性存储器写控制子单元(221)向所述缓存管理子单元(222)发送读取所述缓存模块(7)中的所述缓存数据的所述读命令;
    S712:所述缓存管理子单元(222)接收所述读命令,并将所述读命令发送给所述缓存控制单元(23)。
  18. 根据权利要求17所述的存储***的非易失性存储器的控制方法,其特征在于,
    所述步骤S61包括如下步骤:
    S611:所述缓存控制单元(23)的第二非易失性存储器命令处理子单元(231)接收所述写操作信息;
    S612:所述缓存控制单元(23)的第二选择子单元(235)选择所述第二非易失性存储器命令处理子单元(231)所接收的所述写操作信息进行发送;
    S613:所述缓存控制单元(23)的缓存写控制子单元(233)根据来自所述第二选择子单元(235)发送的所述写操作信息将所述缓存数据存储于所述缓存模块(7)中;
    所述步骤S72包括如下步骤:
    S721:所述第二非易失性存储器命令处理子单元(231)接收所述读命令;
    S722:所述第二选择子单元(235)选择所述第二非易失性存储器命令处理子单元(231)所接收的读命令进行发送;
    S723:所述缓存控制单元(23)的缓存读控制子单元(234)根据来自所述第二选择子单元(235)发送的所述读命令读取存储于所述缓存模块(7)中的所述缓存数据,并将所读取的所述缓存数据发送给所述非易失性存储器写控制子单元(221);
    所述步骤S73包括如下步骤:
    S731:所述非易失性存储器写控制子单元(221)将所述缓存数据写入所述非易失性存储器中;
    所述步骤S74包括如下步骤:
    S741:所述缓存管理子单元(222)在所述非易失性存储器写控制子单元(221)将所述缓存数据写入所述非易失性存储器(3)后,向所述第二选择子单元(235)和所述***发送完成将所述缓存数据写入所述非易失性存储器(3)的通知信号,以释放所述缓存模块(7)。
PCT/CN2014/094998 2013-12-30 2014-12-25 存储***及其非易失性存储器的控制方法 WO2015101211A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201310746199.8 2013-12-30
CN201310746987.7 2013-12-30
CN201310746199.8A CN104750424B (zh) 2013-12-30 2013-12-30 一种存储***及其非易失性存储器的控制方法
CN201310746987.7A CN104750425B (zh) 2013-12-30 2013-12-30 一种存储***及其非易失性存储器的控制方法

Publications (1)

Publication Number Publication Date
WO2015101211A1 true WO2015101211A1 (zh) 2015-07-09

Family

ID=53493206

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/094998 WO2015101211A1 (zh) 2013-12-30 2014-12-25 存储***及其非易失性存储器的控制方法

Country Status (1)

Country Link
WO (1) WO2015101211A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040186931A1 (en) * 2001-11-09 2004-09-23 Gene Maine Transferring data using direct memory access
CN102169464A (zh) * 2010-11-30 2011-08-31 北京握奇数据***有限公司 一种用于非易失性存储器的缓存方法、装置及智能卡
CN102789439A (zh) * 2012-06-16 2012-11-21 北京忆恒创源科技有限公司 控制数据传输过程中的中断的方法
CN102799396A (zh) * 2012-07-22 2012-11-28 北京忆恒创源科技有限公司 存储设备、中断控制方法以及供电时间测量方法
CN102799392A (zh) * 2012-06-16 2012-11-28 北京忆恒创源科技有限公司 存储设备及其中断控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040186931A1 (en) * 2001-11-09 2004-09-23 Gene Maine Transferring data using direct memory access
CN102169464A (zh) * 2010-11-30 2011-08-31 北京握奇数据***有限公司 一种用于非易失性存储器的缓存方法、装置及智能卡
CN102789439A (zh) * 2012-06-16 2012-11-21 北京忆恒创源科技有限公司 控制数据传输过程中的中断的方法
CN102799392A (zh) * 2012-06-16 2012-11-28 北京忆恒创源科技有限公司 存储设备及其中断控制方法
CN102799396A (zh) * 2012-07-22 2012-11-28 北京忆恒创源科技有限公司 存储设备、中断控制方法以及供电时间测量方法

Similar Documents

Publication Publication Date Title
US11449445B2 (en) Transaction-based hybrid memory
JP5666722B2 (ja) メモリ・インターフェース
TWI334989B (en) Command controller and prefetch buffer applied in an embedded system and control method thereof
US6871267B2 (en) Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency
CN103345451B (zh) 一种在多核处理器中缓冲数据的方法
TW200819978A (en) Memory management method and system
WO2019090493A1 (zh) 内存块回收方法和装置
US20080320234A1 (en) Information processing apparatus and data transfer method
WO2012077169A1 (ja) 情報処理システムおよび情報送信方法
CN109753445A (zh) 一种缓存访问方法、多级缓存***及计算机***
WO2015021822A1 (zh) 扩大mcu程序地址空间的方法及装置
JP2012043031A (ja) 共有キャッシュメモリ装置
CN116776781B (zh) 一种寄存器参数的管理方法、***、设备及存储介质
KR20200049529A (ko) 데이터 처리 시스템에서의 캐시 유지보수 동작
JP5304815B2 (ja) マイクロコンピュータ
WO2015101211A1 (zh) 存储***及其非易失性存储器的控制方法
JP7493311B2 (ja) バスシステムおよびその制御方法
CN104750425A (zh) 一种存储***及其非易失性存储器的控制方法
JPWO2012108024A1 (ja) 中継装置、中継履歴記録方法、及びデータ処理装置
EP1895419B1 (en) Information processing system, information processing board, and method of updating cache tag and snoop tag
JP2020087408A (ja) メモリーシステム
JP4924970B2 (ja) データ処理システム
JP2013089030A (ja) 情報処理システム、制御システム及び半導体装置
JP6028470B2 (ja) 演算処理装置、情報処理装置および演算処理装置の制御方法
CN118276772A (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: 14876366

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 (EPO FORM 1205N DATED 06.09.2016)

122 Ep: pct application non-entry in european phase

Ref document number: 14876366

Country of ref document: EP

Kind code of ref document: A1