CN117406935A - 数据读取方法及装置、读写控制器 - Google Patents
数据读取方法及装置、读写控制器 Download PDFInfo
- Publication number
- CN117406935A CN117406935A CN202311710255.2A CN202311710255A CN117406935A CN 117406935 A CN117406935 A CN 117406935A CN 202311710255 A CN202311710255 A CN 202311710255A CN 117406935 A CN117406935 A CN 117406935A
- Authority
- CN
- China
- Prior art keywords
- data
- read
- sector
- ram
- flash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000008569 process Effects 0.000 claims abstract description 20
- 239000000725 suspension Substances 0.000 claims description 5
- 230000003139 buffering effect Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种数据读取方法及装置、读写控制器,该方法中,读写控制器在对FLASH进行擦写操作的过程中,响应于针对FLASH的数据读取请求,若待读取的扇区满足目标条件,则可以挂起擦写操作,将待读取的扇区中的数据缓存至第一RAM中,并从第一RAM中读取数据。其中,目标条件包括待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM中。由此在对FLASH进行擦写操作过程中,无需等待擦写操作完成即可实现对FLASH中数据的读取,相较于相关技术,有效提高了对FLASH读取的效率,提高了FLASH使用的便利性,消除了FLASH在擦写操作中不能读取的限制。
Description
技术领域
本申请涉及计算机领域,具体涉及一种数据读取方法及装置、读写控制器。
背景技术
闪速存储器(flash memory)(简称为FLASH)是一种电子可擦除的只读存储器,允许被多次擦写。
相关技术中,由于在对FLASH进行擦写操作时通常不能进行任何地址的读取操作,否则会造成操作冲突。因此,若在对FLASH进行擦写操作的过程中,接收到对FLASH的读取操作,则需要在擦写操作结束后,执行对该FLASH的读取操作。
但是,由于在擦写操作结束后,才能对该FLASH进行读取操作,导致对FLASH的读取效率较低。
发明内容
本发明提出了一种数据读取方法及装置、读写控制器,可以解决相关技术中对FLASH的读取效率较低的问题。所述技术方案如下:
一方面,提供了一种数据读取方法,应用于芯片的读写控制器,芯片还包括FLASH和第一随机存取存储器(random access memory,RAM),FLASH包括多个扇区;方法包括:
在对FLASH进行擦写操作的过程中,响应于针对FLASH的数据读取请求,若待读取的扇区满足目标条件,则挂起擦写操作;其中,目标条件包括:待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM中;
将待读取的扇区中的数据缓存至第一RAM中,并从第一RAM中读取数据。
可选的,将待读取的扇区中的数据缓存至第一RAM之后,方法还包括:
恢复擦写操作。
可选的,芯片还包括:第二RAM;在对FLASH进行擦写操作之前,方法还包括:
将待擦除的扇区中的数据缓存至第二RAM中,或者待写入至扇区的数据缓存至第二RAM中;
方法还包括:
若待读取的扇区与正在擦写的扇区为同一扇区,则从第二RAM中读取数据。
可选的,第一RAM和第二RAM中每个RAM所能缓存的数据总量等于单个扇区中的数据总量。
可选的,方法还包括:
若待读取的扇区中的数据已缓存至第一RAM中,则从第一RAM中读取数据。
可选的,将待读取的扇区中的数据缓存至第一RAM中,包括:
采用Burst操作将待读取的扇区中的数据缓存至第一RAM中。
可选的,芯片还包括:第二RAM;方法还包括:
在未对FLASH进行擦写操作的情况下,响应于针对FLASH的数据读取请求,基于待读取的数据的地址从目标扇区或者目标RAM中读取数据,目标RAM为第一RAM或者第二RAM。
另一方面,提供了一种计算机可读存储介质,其上存储有数据读取程序,数据读取程序被处理器执行时实现上述方面所述的数据读取方法。
又一方面,提供了一种读写控制器,包括存储器、处理器及存储在存储器上并可在处理器上运行的数据读取程序,处理器执行数据读取程序时,实现上述方面所述的数据读取方法。
再一方面,提供了一种数据读取装置,应用于芯片的读写控制器,芯片还包括FLASH和RAM,FLASH包括多个扇区;装置包括:
挂起模块,用于在对FLASH进行擦写操作的过程中,响应于针对FLASH的数据读取请求,若待读取的扇区满足目标条件,则挂起擦写操作;其中,目标条件包括:待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM中;
缓存模块,用于将待读取的扇区中的数据缓存至第一RAM中;
读取模块,用于从第一RAM中读取数据。
综上所述,本发明提供了一种数据读取方法及装置、读写控制器,该方法中,读写控制器在对FLASH进行擦写操作的过程中,响应于针对FLASH的数据读取请求,若待读取的扇区满足目标条件,则可以挂起擦写操作,将待读取的扇区中的数据缓存至第一RAM中,并从第一RAM中读取数据。其中,目标条件包括待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM中。由此在对FLASH进行擦写操作过程中,无需等待擦写操作完成即可实现对FLASH中数据的读取,相较于相关技术,有效提高了对FLASH读取的效率,提高了FLASH使用的便利性,消除FLASH在擦写操作中不能读取的限制。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是本发明实施例提供的一种芯片的架构图;
图2是本发明实施例提供的一种数据读取方法的流程图;
图3是本发明实施例提供的另一种数据读取方法的流程图;
图4是本发明实施例提供的另一种读写控制器的结构示意图;
图5是本发明实施例提供的一种数据读取装置框图;
图6是本发明实施例提供的另一种数据读取装置框图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
FLASH是一种电子可擦除的只读存储器,允许被多次擦写。
相关技术中,由于在对FLASH进行擦写操作时通常不能进行任何地址的读取操作,否则会造成操作冲突。因此,若在对FLASH进行擦写操作的过程中,接收到对FLASH的读取操作,则需要在擦写操作结束后,执行对该FLASH的读取操作。
但是,由于在擦写操作结束后,才能对该FLASH的地址进行读取操作,导致对FLASH的读取效率较低。
图1为本发明实施例提供的一种芯片的架构图,如图1所示,芯片100可以包括总线接口10、读写控制器20、FLASH30和第一RAM40。其中,FLASH30可以包括多个扇区。
读写控制器20在对FLASH30进行擦写操作的过程中,可以响应于总线接口10传输的针对FLASH30的数据读取请求,若待读取的扇区满足目标条件,则可以挂起擦写操作,将待读取的扇区中的数据缓存至第一RAM40中,并从第一RAM40中读取数据。其中,该目标条件可以包括待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM40中。由此在对FLASH进行擦写操作过程中,无需等待擦写操作完成即可实现对FLASH中数据的读取,相较于相关技术,有效提高了对FLASH读取的效率,提高了FLASH使用的便利性,消除FLASH在擦写操作中不能读取的限制。
图2是本发明实施例提供的一种数据读取方法的流程图,该方法可以应用于图1中的读写控制器20,如图2所示,该方法包括:
步骤201、在对FLASH进行擦写操作的过程中,响应于针对FLASH的数据读取请求,若待读取的扇区满足目标条件,则挂起擦写操作。
读写控制器在对FLASH进行擦写操作的过程中,可以响应于针对FLASH的数据读取请求,若待读取的扇区满足目标条件,则可以挂起擦写操作。其中,该目标条件可以包括待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM中。
读写控制器挂起擦写操作指的是读写控制器停止对正在擦写的扇区的擦写操作。
可以理解,读写控制器挂起擦写操作时,可以基于FLASH扇区的擦写特性,在对正在擦写的扇区的地址、数据和擦写序列的进度进行保存后,停止对该扇区的擦写操作,使FLASH恢复到可读取状态。
步骤202、将待读取的扇区中的数据缓存至第一RAM中,并从第一RAM中读取数据。
读写控制器在挂起擦写操作后,可以将待读取的扇区中的数据缓存至第一RAM中,并从第一RAM中读取数据。
综上所述,本发明实施例提供了一种数据读取方法,该方法中,读写控制器在对FLASH进行擦写操作的过程中,响应于针对FLASH的数据读取请求,若待读取的扇区满足目标条件,则可以挂起擦写操作,将待读取的扇区中的数据缓存至第一RAM中,并从第一RAM中读取数据。其中,目标条件包括待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM中。由此在对FLASH进行擦写操作过程中,无需等待擦写操作完成即可实现对FLASH中数据的读取,相较于相关技术,有效提高了对FLASH读取的效率,提高了FLASH使用的便利性,消除FLASH在擦写操作中不能读取的限制。
图3为本发明实施例提供的另一种数据读取方法的流程图,该方法可以应用于图1中的读写控制器20。参考图3,该方法可以包括:
步骤301、响应于针对FLASH的数据读取请求,检测是否正在对FLASH进行擦写操作。
读写控制器可以响应于针对FLASH的数据读取请求,检测是否正在对FLASH进行擦写操作。若正在对FLASH进行擦写操作,则可以执行步骤302。若未对FLASH进行擦写操作,则可以执行步骤307。
参考图1,读写控制器20可以包括擦写控制器21、读取控制器22和数据传输控制器23,芯片100还可以包括擦写时序生成电路50。
其中,读取控制器22分别与总线接口10和数据传输控制器23连接,用于接收总线接口10传输的针对FLASH的数据读取请求,并将该针对FLASH的数据读取请求发送至数据传输控制器23。数据传输控制器23可以响应于针对FLASH的数据读取请求,检测是否正在对FLASH进行擦写操作。
擦写控制器21分别与总线接口10、读取控制器22、数据传输控制器23和擦写时序生成电路50连接,用于接收擦写时序生成电路50传输的擦写标识,并将擦写标识发送至数据传输控制器23。其中,该擦写标识用于指示是否正在对FLASH30进行擦写操作。数据传输控制器23若确定擦写标识为预设标识,则可以确定正在对FLASH进行擦写操作,若擦写标识不是预设标识,则可以确定未对FLASH进行擦写操作。示例的,该预设标识可以为1。
步骤302、检测待读取的扇区是否满足目标条件。
读写控制器在对FLASH进行擦写操作的过程中,可以检测待读取的扇区是否满足目标条件。其中,该目标条件可以包括待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM中。
若待读取的扇区与正在擦写的扇区为同一扇区,则可以执行步骤303。若待读取的扇区中的数据已缓存至第一RAM中,则可以执行步骤304。若待读取的扇区满足目标条件,则可以执行步骤305。
可选的,数据读取请求中可以携带有待读取的数据的地址,读写控制器可以检测该地址是否为正在擦写的扇区的地址。若该地址为正在擦写的扇区的地址,则可以确定待读取的扇区与正在擦写的扇区为同一扇区。若该地址不是正在擦写的扇区的地址,则可以确定待读取的扇区与正在擦写的扇区为不同扇区。
并且,读写控制器若存储待读取的扇区的地址与第一RAM的映射关系,则可以确定待读取的扇区中的数据已缓存至第一RAM中。若未存储待读取的扇区的地址与第一RAM的映射关系,则可以确定待读取的扇区中的数据未被缓存至第一RAM中。
参考图1,数据传输控制器23还用于接收擦写控制器21传输的正在擦写的扇区的地址,检测待读取的数据的地址是否为正在擦写的扇区的地址,并检测待读取的扇区中的数据是否缓存至第一RAM中。
步骤303、若待读取的扇区与正在擦写的扇区为同一扇区,则从第二RAM中读取数据。
参考图1,芯片100还可以包括第二RAM60,若待读取的扇区与正在擦写的扇区为同一扇区,则读写控制器20可以从第二RAM60中读取数据。
在本发明实施例中,读写控制器可以响应于针对FLASH的擦写指令,将待擦除的扇区中的数据缓存至第二RAM中,或者待写入至扇区的数据缓存至第二RAM中。之后,读写控制控制器可以执行对待擦写的扇区的擦写操作。
可选的,擦写指令可以包括擦除指令或者写指令,若擦写指令为擦除指令,则读写控制器可以响应于擦除指令,将待擦除的扇区中的数据缓存至第二RAM中,并存储待擦除的扇区的地址与第二RAM的映射关系。之后读写控制器可以对该扇区进行擦除操作,以擦除该扇区中的数据。
参考图1,芯片100还可以包括读取控制电路70和读写控制电路80。擦写控制器21接收到总线接口10传输的擦除指令后,将该擦除指令传输至数据传输控制器23,该擦除指令中携带有擦除地址。数据传输控制器23可以响应于擦除指令,通过读取控制电路70从地址为擦除地址的扇区中读取数据,通过读写控制电路80将读取的数据缓存至第二RAM60中,存储擦除地址与第二RAM60的映射关系,并向擦写控制器21发送第一指示信息。之后,擦写控制器21可以响应于第一指示信息控制擦写时序生成电路50擦除该扇区中的数据。
若擦写指令为写指令,则读写控制器可以响应于写指令,将待写入至扇区的数据缓存至第二RAM中,并存储待写的扇区的地址与第二RAM的映射关系,之后读写控制器可以向该扇区写数据。
参考图1,擦写控制器21接收到总线接口10传输的写指令后,将该写指令传输至数据传输控制器23,该写指令中携带有写地址,以及待写入的数据。数据传输控制器23可以响应于写指令,将待写入至地址为写地址的扇区的数据缓存至第二RAM60中,存储写地址与第二RAM的映射关系,向擦写控制器21发送第二指示信息,并向擦写时序生成电路50发送待写入的数据。之后擦写控制器21可以响应于第二指示信息,控制擦写时序生成电路50向地址为写地址的扇区写入数据。
由于读写控制器在对待擦写的扇区进行擦写操作之前,将待擦除的扇区中的数据缓存至第二RAM,或者待写入至扇区的数据缓存至第二RAM,因此读写控制器若确定待读取的扇区与正在擦写的扇区为同一扇区,则可以直接从该第二RAM中读取数据。由此在对扇区进行擦写操作的过程中,可以实现对扇区中数据的读取,提高了数据的读取效率。
步骤304、若待读取的扇区中的数据已缓存至第一RAM中,则从第一RAM中读取数据。
若待读取的扇区中的数据已缓存至第一RAM中,则读写控制器可以从第一RAM中读取数据。
参考图1,若待读取的扇区中的数据已缓存至第一RAM40中,则读取控制器22可以通过读写控制电路80从第一RAM40中读取数据。
步骤305、挂起擦写操作,将待读取的扇区的数据缓存至第一RAM中,并从第一RAM中读取数据。
读写控制器若确定待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM中,则可以挂起擦写操作,将待读取的扇区的数据缓存至第一RAM中,并从第一RAM中读取数据。
可以理解,读写控制器挂起擦写操作时,可以基于FLASH扇区的擦写特性,在对正在擦写的扇区的地址、数据和擦写序列的进度进行保存后,停止对该扇区的擦写操作,使FLASH恢复到可读取状态。其中,该擦写序列可以包括擦除命令序列或者写序列。
可选的,读写控制器可以采用Burst(连续)操作将待读取的扇区中的数据缓存至第一RAM中。其中,Burst操作可以是一种地址不断加1的连续读写操作,通过采用Burst操作,可以提升对数据的读写效率。
参考图1,数据传输控制器23若确定待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM40中,则可以控制擦写时序生成电路50暂停对FLASH30的擦写操作,通过读取控制电路70从待读取的扇区中读取数据,通过读写控制电路80将读取的数据缓存至第一RAM40中,并通过读写控制电路80从第一RAM40中读取数据。并且,数据传输控制器23可以存储待读取的扇区的地址与第一RAM40的映射关系。
步骤306、恢复擦写操作。
读写控制器从第一RAM中读取数据后,可以恢复擦写操作。
读写控制器恢复擦写操作指的是读写控制器针对被挂起擦写操作的扇区,停止挂起擦写操作,继续对该扇区进行擦写操作。
可以理解,读写控制器恢复擦写操作时,可以基于FLASH扇区的擦写特性,基于挂起擦写操作时保存的扇区的地址、数据和擦写序列的进度,继续对该扇区进行擦写操作,使FLASH恢复到可擦写状态。
参考图1,数据传输控制器23可以控制擦写时序生成电路50恢复对FLASH进行的擦写操作。
步骤307、基于待读取的数据的地址从目标扇区或者目标RAM中读取数据。
读写控制器在未对FLASH进行擦写操作的情况下,响应于针对FLASH中目标扇区的数据读取请求,基于待读取的数据的地址从目标扇区或者目标RAM中读取数据。其中,目标RAM可以为第一RAM或者第二RAM。
参考图1,读写控制器20可以检测是否存储待读取的数据的地址所在的扇区的扇区地址与目标RAM的映射关系。若未存储扇区地址与目标RAM的映射关系,则可以确定目标RAM中未缓存待读取的数据,因此可以通过读取控制电路70从待读取的数据的地址所在的目标扇区中读取数据。若存储扇区地址与第一RAM40(或者第二RAM60)的映射关系,则可以确定第一RAM40(或者第二RAM60)中缓存待读取的数据,因此可以通过读写控制电路80从第一RAM40(或者第二RAM60)中读取数据。
在本发明实施例中,第一RAM和第二RAM中每个RAM所能缓存的数据总量等于单个扇区中的数据总量,由此可以保证FLASH单个扇区中的数据可以全部被缓存到同一个RAM中。
综上所述,本发明实施例提供了一种数据读取方法,该方法中,读写控制器在对FLASH进行擦写操作的过程中,响应于针对FLASH的数据读取请求,若待读取的扇区满足目标条件,则挂起擦写操作,将待读取的扇区中的数据缓存至第一RAM中,并从第一RAM中读取数据。其中,目标条件包括待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM中。由此在对FLASH进行擦写操作过程中,无需等待擦写操作完成即可实现对FLASH中数据的读取,相较于相关技术,有效提高了对FLASH读取的效率,提高了FLASH使用的便利性,消除FLASH在擦写操作中不能读取的限制。
在本发明实施例中,通过擦写操作的自动挂起和恢复机制,双缓存读取机制,有效提高了对FLASH读取的效率。并且,上述的芯片均为纯数字逻辑设计电路,硬件成本较低,易于在电路设计中实现。
本发明实施例提供了一种计算机可读存储介质,其上存储有数据读取程序,数据读取程序被处理器执行时实现上述实施例所示的数据读取方法。例如,图2或图3所示的数据读取方法。
图4是本发明实施例提供的一种读写控制器的结构示意图,如图4所示,读写控制器20包括存储器401、处理器402及存储在存储器401上并可在处理器402上运行的数据读取程序,处理器402执行数据读取程序时,实现上述实施例所示的数据读取方法。例如,图2或图3所示的数据读取方法。
图5是本发明实施例提供的一种数据读取装置框图,该装置应用于芯片的读写控制器,芯片还包括FLASH和RAM,FLASH包括多个扇区;装置包括:
挂起模块501,用于在对FLASH进行擦写操作的过程中,响应于针对FLASH的数据读取请求,若待读取的扇区满足目标条件,则挂起擦写操作;其中,目标条件包括:待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM中;
缓存模块502,用于将待读取的扇区中的数据缓存至第一RAM中;
读取模块503,用于从第一RAM中读取数据。
可选的,参考图6,装置还包括:恢复擦写模块504,用于:
恢复擦写操作。
可选的,芯片还包括:第二RAM;缓存模块502,用于:
将待擦除的扇区中的数据缓存至第二RAM中,或者待写入至扇区的数据缓存至第二RAM中;
读取模块503,用于:
若待读取的扇区与正在擦写的扇区为同一扇区,则从第二RAM中读取数据。
可选的,第一RAM和第二RAM中每个RAM所能缓存的数据总量等于单个扇区中的数据总量。
可选的,读取模块503,用于:
若待读取的扇区中的数据已缓存至第一RAM中,则从第一RAM中读取数据。
可选的,缓存模块502,用于:
采用Burst操作将待读取的扇区中的数据缓存至第一RAM中。
可选的,读取模块503,用于:
在未对FLASH进行擦写操作的情况下,响应于针对FLASH的数据读取请求,基于待读取的数据的地址从目标扇区或者目标RAM中读取数据,目标RAM为第一RAM或者第二RAM。
综上所述,本发明实施例提供了一种数据读取装置,该装置中,读写控制器在对FLASH进行擦写操作的过程中,响应于针对FLASH的数据读取请求,若待读取的扇区满足目标条件,则挂起擦写操作,将待读取的扇区中的数据缓存至第一RAM中,并从第一RAM中读取数据。其中,目标条件包括待读取的扇区与正在擦写的扇区为不同扇区,且待读取的扇区中的数据未被缓存至第一RAM中。由此在对FLASH进行擦写操作过程中,无需等待擦写操作完成即可实现对FLASH中数据的读取,相较于相关技术,有效提高了对FLASH读取的效率,提高了FLASH使用的便利性,消除FLASH在擦写操作中不能读取的限制。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“可选的”,“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,本发明实施例中所使用的“第一”、“第二”等术语,仅用于描述目的,而不可以理解为指示或者暗示相对重要性,或者隐含指明本实施例中所指示的技术特征数量。由此,本发明实施例中限定有“第一”、“第二”等术语的特征,可以明确或者隐含地表示该实施例中包括至少一个该特征。在本发明的描述中,词语“多个”的含义是至少两个或者两个及以上,例如两个、三个、四个等,除非实施例中另有明确具体的限定。
在本发明中,除非实施例中另有明确的相关规定或者限定,否则实施例中出现的术语“安装”、“相连”、“连接”和“固定”等应做广义理解,例如,连接可以是固定连接,也可以是可拆卸连接,或成一体,可以理解的,也可以是机械连接、电连接等;当然,还可以是直接相连,或者通过中间媒介进行间接连接,或者可以是两个元件内部的连通,或者两个元件的相互作用关系。对于本领域的普通技术人员而言,能够根据具体的实施情况理解上述术语在本发明中的具体含义。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种数据读取方法,其特征在于,应用于芯片的读写控制器,所述芯片还包括闪速存储器FLASH和第一随机存取存储器RAM,FLASH包括多个扇区;所述方法包括:
在对所述FLASH进行擦写操作的过程中,响应于针对所述FLASH的数据读取请求,若待读取的扇区满足目标条件,则挂起所述擦写操作;其中,所述目标条件包括:所述待读取的扇区与正在擦写的扇区为不同扇区,且所述待读取的扇区中的数据未被缓存至第一RAM中;
将所述待读取的扇区中的数据缓存至所述第一RAM中,并从所述第一RAM中读取数据。
2.根据权利要求1所述的数据读取方法,其特征在于,将所述待读取的扇区中的数据缓存至所述第一RAM之后,所述方法还包括:
恢复所述擦写操作。
3.根据权利要求1所述的数据读取方法,其特征在于,所述芯片还包括:第二RAM;在对所述FLASH进行擦写操作之前,所述方法还包括:
将待擦除的扇区中的数据缓存至第二RAM中,或者待写入至所述扇区的数据缓存至所述第二RAM中;
所述方法还包括:
若所述待读取的扇区与所述正在擦写的扇区为同一扇区,则从所述第二RAM中读取数据。
4.根据权利要求3所述的数据读取方法,其特征在于,所述第一RAM和所述第二RAM中每个RAM所能缓存的数据总量等于单个扇区中的数据总量。
5.根据权利要求1至4任一所述的数据读取方法,其特征在于,所述方法还包括:
若所述待读取的扇区中的数据已缓存至所述第一RAM中,则从所述第一RAM中读取数据。
6.根据权利要求1至4任一所述的数据读取方法,其特征在于,将所述待读取的扇区中的数据缓存至所述第一RAM中,包括:
采用Burst操作将所述待读取的扇区中的数据缓存至所述第一RAM中。
7.根据权利要求1至4任一所述的数据读取方法,其特征在于,所述芯片还包括:第二RAM;所述方法还包括:
在未对所述FLASH进行擦写操作的情况下,响应于针对所述FLASH的数据读取请求,基于待读取的数据的地址从目标扇区或者目标RAM中读取数据,所述目标RAM为所述第一RAM或者所述第二RAM。
8.一种计算机可读存储介质,其特征在于,其上存储有数据读取程序,所述数据读取程序被处理器执行时实现权利要求1至7任一所述的数据读取方法。
9.一种读写控制器,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的数据读取程序,所述处理器执行所述数据读取程序时,实现权利要求1至7任一所述的数据读取方法。
10.一种数据读取装置,其特征在于,应用于芯片的读写控制器,所述芯片还包括FLASH和RAM,所述FLASH包括多个扇区;所述装置包括:
挂起模块,用于在对所述FLASH进行擦写操作的过程中,响应于针对所述FLASH的数据读取请求,若待读取的扇区满足目标条件,则挂起所述擦写操作;其中,所述目标条件包括:所述待读取的扇区与正在擦写的扇区为不同扇区,且所述待读取的扇区中的数据未被缓存至第一RAM中;
缓存模块,用于将所述待读取的扇区中的数据缓存至所述第一RAM中;
读取模块,用于从所述第一RAM中读取数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311710255.2A CN117406935B (zh) | 2023-12-13 | 2023-12-13 | 数据读取方法及装置、读写控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311710255.2A CN117406935B (zh) | 2023-12-13 | 2023-12-13 | 数据读取方法及装置、读写控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117406935A true CN117406935A (zh) | 2024-01-16 |
CN117406935B CN117406935B (zh) | 2024-02-20 |
Family
ID=89500282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311710255.2A Active CN117406935B (zh) | 2023-12-13 | 2023-12-13 | 数据读取方法及装置、读写控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117406935B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174468A (zh) * | 2006-11-03 | 2008-05-07 | 三星电子株式会社 | 非易失性存储装置及其数据读取方法 |
CN101410905A (zh) * | 2006-03-28 | 2009-04-15 | 诺基亚公司 | 减小非易失性存储器读取延迟的方法和设备 |
CN106775503A (zh) * | 2017-02-23 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种执行操作指令的方法及装置 |
CN111045593A (zh) * | 2018-10-15 | 2020-04-21 | 慧荣科技股份有限公司 | 用来进行读取加速的方法以及数据存储装置及其控制器 |
CN114371814A (zh) * | 2021-12-08 | 2022-04-19 | 浙江大华存储科技有限公司 | 数据处理的方法、装置及固态硬盘 |
-
2023
- 2023-12-13 CN CN202311710255.2A patent/CN117406935B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101410905A (zh) * | 2006-03-28 | 2009-04-15 | 诺基亚公司 | 减小非易失性存储器读取延迟的方法和设备 |
CN101174468A (zh) * | 2006-11-03 | 2008-05-07 | 三星电子株式会社 | 非易失性存储装置及其数据读取方法 |
CN106775503A (zh) * | 2017-02-23 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种执行操作指令的方法及装置 |
CN111045593A (zh) * | 2018-10-15 | 2020-04-21 | 慧荣科技股份有限公司 | 用来进行读取加速的方法以及数据存储装置及其控制器 |
CN114371814A (zh) * | 2021-12-08 | 2022-04-19 | 浙江大华存储科技有限公司 | 数据处理的方法、装置及固态硬盘 |
Also Published As
Publication number | Publication date |
---|---|
CN117406935B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5937427A (en) | Information recording apparatus and method capable of efficient erase, write and verify processes | |
US8868851B2 (en) | Data access method of a memory device | |
US9081662B2 (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
US7564721B2 (en) | Method and apparatus for improving storage performance using a background erase | |
JP2009110287A (ja) | アクセス制御装置およびアクセス制御方法 | |
JP2009528609A (ja) | 不揮発性メモリの読み出し待ち時間を減少させる方法及びデバイス | |
US20100050007A1 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
CN107515827B (zh) | Pcie ssd自定义日志的存储方法、装置及ssd | |
US20110029741A1 (en) | Data management method and memory deivce | |
KR100388338B1 (ko) | 캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크드라이브 장치 및 하드 디스크 제어 장치 | |
JPH0728690A (ja) | フラッシュメモリシステム | |
JP4461089B2 (ja) | ストレージ制御装置およびストレージ制御方法 | |
CN117406935B (zh) | 数据读取方法及装置、读写控制器 | |
US6591336B2 (en) | Technique for maintaining coherency between shared-disk and disk caches | |
KR20100056400A (ko) | 기록가능 메모리 장치 | |
US20070174739A1 (en) | Disk device, method of writing data in disk device, and computer product | |
US20110010580A1 (en) | Memory apparatus, memory controlling method and program | |
JPH04111113A (ja) | ハードディスクエミュレータ | |
US20080046604A1 (en) | Storage device and control chip for the storage device | |
CN109935252B (zh) | 存储器装置及其操作方法 | |
US8166228B2 (en) | Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods | |
JPH0519981A (ja) | 光デイスク装置のデータ書込み正常終了判定方法 | |
CN116610596B (zh) | 一种存储器件及其数据处理方法 | |
JP2002342038A (ja) | コマンドの実行順序を制御するディスク装置 | |
US6041392A (en) | Disk drive device and method for controlling the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |