CN1991796A - 用于嵌入式系统的请求调页设备和方法 - Google Patents

用于嵌入式系统的请求调页设备和方法 Download PDF

Info

Publication number
CN1991796A
CN1991796A CNA2006101692556A CN200610169255A CN1991796A CN 1991796 A CN1991796 A CN 1991796A CN A2006101692556 A CNA2006101692556 A CN A2006101692556A CN 200610169255 A CN200610169255 A CN 200610169255A CN 1991796 A CN1991796 A CN 1991796A
Authority
CN
China
Prior art keywords
demand paging
page fault
demand
window
processing module
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
Application number
CNA2006101692556A
Other languages
English (en)
Other versions
CN100456266C (zh
Inventor
金晓俊
印至
咸东勋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1991796A publication Critical patent/CN1991796A/zh
Application granted granted Critical
Publication of CN100456266C publication Critical patent/CN100456266C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Address translation
    • 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

Abstract

提供了一种用于嵌入式系统的请求调页设备和方法。所述请求调页设备包括:非易失性存储装置、物理存储器、请求调页窗口和请求调页管理器。非易失性存储装置存储通过请求调页处理的代码和数据。物理存储器处理从非易失性存储装置读取的关于请求页的信息。请求调页窗口产生所述页错误,因而使请求调页发生。请求调页窗口是存储在非易失性存储装置中的应用程序所引用的地址空间的一部分。请求调页管理器处理在请求调页窗口中产生的页错误。

Description

用于嵌入式系统的请求调页设备和方法
本申请要求于2005年12月27日在韩国知识产权局提交的第10-2005-0130804号韩国专利申请的优先权,本申请完全公开于此,以资参考。
                          技术领域
与本发明一致的设备和方法涉及用于嵌入式系统的请求调页,更具体地讲,涉及这样一种用于嵌入式系统的请求调页设备和方法,在将请求调页技术应用于使用支持请求调页的操作系统的系统或不使用操作系统的系统时,该设备和方法使得能够简单有效地使用请求调页技术。
                          背景技术
术语“请求调页”指的是这样一种技术:在使用虚拟存储系统的操作系统中,将虚拟存储器分配给诸如硬盘的辅助存储装置,并应用户的请求将物理存储器映射到虚拟存储器,从而使得能够更加有效地使用有限的主存储器。尽管在诸如Linux和Windows的通用操作系统中使用请求调页,但是响应于应用程序所需的代码和数据的大小的增加,由于这种功能的机制复杂而导致大多数嵌入式系统中不支持这种功能。原因是每个存储系统本身与通用操作系统的操作密切相关。也就是说,除非使用支持请求调页的操作系统,否则在实践中难以实现请求调页。
图1A是示出在支持请求调页的操作系统中的现有技术的请求调页设备,该请求调页设备包括具有有限大小的物理存储器30、产生用于请求调页的虚拟存储空间的辅助存储装置40、作为应用程序的各个进程的虚拟地址空间10和20以及用于管理请求调页的操作系统50。当产生进程时,操作系统50在辅助存储装置40中产生用于各个进程的虚拟存储空间。其后,当所述进程尝试访问虚拟存储空间时,操作系统50将适当的空间分配给物理存储器30,从辅助存储装置40读取虚拟存储空间的内容,然后将所述内容映射到各个进程的虚拟地址空间10和20,从而执行应用程序。
在这种情况下,各个进程的虚拟地址空间10和20被分为核心区域和用户区域。在核心区域中,与载入操作系统50的代码和静态数据的空间大小相同的空间在物理存储器30中被保护。请求调页技术应用于所有剩余空间。因此,根据用户程序,请求调页技术处理所有代码和数据。
图1B是示出使用请求调页的现有技术的系统的示图,该系统包括应用程序90查看和使用的地址空间60、存在于系统中并具有有限大小的物理存储器70、存储应用程序的辅助存储装置80以及存储在辅助存储装置80中、被载入物理存储器70、然后被映射到地址空间60的应用程序90。
在所述系统中,整个存储空间被共用而没有被划分为对应于进程的区域。由于物理存储器70可没有改变地映射到地址空间60,所以大小比系统的物理存储器70的大小大的程序不被执行。通常,存储在辅助存储装置80中的应用程序90通过引导加载程序被载入物理存储器70,然后被执行。
为了在图1A的现有技术情况下应用请求调页,使用在操作系统级支持请求调页的方案,存在的问题是:操作系统本身必须由另一操作系统取代。此外,由于用于嵌入式系统的大多数操作系统不支持用于各个任务的虚拟地址空间,所以难以将传统的请求调页方案引入到这些操作系统。或者,如果使用支持请求调页的操作系统,那么难以根据应用程序预测将由请求调页延迟处理的部分应用程序和由请求调页延迟所述部分应用程序的时刻。因此,存在的问题是难以将所述系统应用于需要实时响应的应用。
此外,在图1B的没有使用请求调页的现有技术的系统中,存在的问题是难以处理大小逐渐增加的代码和数据。此外,当在该系统中采用NAND闪存(即,不能被直接寻址的非易失性存储器)或硬盘的情况下执行存储在存储装置中的程序时,存在的问题是必须分配具有与所述程序的大小相应的大小的RAM。
                          发明内容
本发明提供了一种用于嵌入式系统的请求调页设备和方法,在该请求调页设备和方法中,可将请求调页技术使用在使用支持请求调页的操作系统的系统和使用不支持请求调页的操作系统的系统中。
根据本发明的一方面,提供了一种用于嵌入式系统的请求调页设备,该设备包括:非易失性存储装置,存储通过请求调页处理的代码和数据;物理存储器,处理从非易失性存储装置读取的关于请求页的信息;请求调页窗口,产生所述页错误(fault),因而使请求调页发生,请求调页窗口是存储在非易失性存储装置中的应用程序所引用的地址空间的一部分;和请求调页管理器,处理请求调页窗口中产生的页错误。
可将物理存储器的一部分分配给请求调页管理器,请求调页管理器产生用于执行请求调页的请求调页存储池。
请求调页存储池可包括:帧缓冲器,被映射到请求调页窗口中的虚拟存储空间;存储器转换表,将关于映射的信息通知给存储管理单元(MMU);和帧缓冲器列表,即,用于管理帧缓冲器的数据结构。
请求调页管理器可包括:接口模块,初始化请求调页管理器,并激活存储管理单元;页高速缓冲管理模块,响应于接口模块的请求对帧缓冲器和帧缓冲器列表进行初始化;和页错误处理模块,确定在请求调页窗口的区域中是否产生了激活的存储管理单元产生的页错误,从而处理页错误。
接口模块可包括:应用程序接口(API),从应用程序接收产生请求调页窗口的请求和信息;存储器转换表产生单元,从请求调页存储池向其分配存储器,并且存储器转换表产生单元产生用于请求调页窗口的区域的存储器转换表;页错误处理程序安装单元,将页错误处理模块注册在中央处理单元(CPU)中;和存储管理单元控制单元,控制存储管理单元调用注册的页错误处理模块。在这种情况下,所述信息可包括关于请求调页窗口占据的空间的大小和地址的信息、关于请求调页存储池的大小的信息和关于存储在非易失性存储装置中的代码和数据的位置的信息。
所述非易失性存储装置可以是NAND闪存。
根据本发明的另一方面,提供了一种用于嵌入式系统的请求调页方法,该方法包括:响应于存储在非易失性存储装置中的应用程序的请求,产生请求调页窗口,所述请求调页窗口是发生请求调页的区域;对用于处理请求调页窗口中产生的页错误的请求调页管理器进行初始化,从而激活存储管理单元;当请求调页窗口中产生页错误时,使用激活的存储管理单元来调用向CPU注册的页错误处理模块;使用调用的页错误处理模块来确定请求调页窗口中是否产生页错误;如果请求调页窗口中产生了页错误,那么在页错误处理模块处理页错误。
初始化请求调页管理器的步骤可包括:从应用程序接收产生请求调页窗口的请求和信息;由操作系统分配存储器,并产生用于请求调页窗口的区域的存储器转换表;向CPU注册页错误处理模块,页错误处理模块在产生页错误中断时被执行;和激活调用注册的页错误处理模块的存储管理单元。在这种情况下,所述信息可包括关于请求调页窗口占据的空间的大小和地址的信息、关于被请求执行请求调页的存储器的大小的信息和关于存储在非易失性存储装置中的代码和数据的位置的信息。
处理页错误的步骤可包括:如果请求调页窗口中产生了页错误,那么将请求调页存储池内的帧缓冲器分配给请求调页管理器;页错误处理模块使用帧缓冲器从非易失性存储装置读取页;根据读取的页来修改存储器转换表。
                          附图说明
通过下面结合附图对示例性实施例进行的详细描述,本发明的上述和其它方面将会被更加清楚地理解,其中:
图1A是示出在支持请求调页的操作系统中的现有技术的请求调页设备的示图;
图1B是示出没有使用请求调页的现有技术的系统的示图;
图2是示出根据本发明示例性实施例的用于嵌入式系统的请求调页设备的构思的框图;
图3是示出根据本发明示例性实施例的作为请求调页设备的结构的一部分的请求调页管理器和物理存储器的结构的示图;
图4是示出根据本发明示例性实施例的作为请求调页设备的结构的一部分的接口模块的结构的示图;
图5是示出根据本发明示例性实施例的用于嵌入式系统的请求调页方法的构思的流程图;和
图6是示出根据示例性实施例的初始化请求调页管理器的处理的流程图。
                          具体实施方式
通过下面结合附图对示例性实施例进行的详细描述,本发明的各方面将变得更加清楚。然而,本发明不限于示例性实施例,而是可以以各种方式被实现。提供示例性实施例以使本公开完整,并使本领域普通技术人员理解本发明的范围。贯穿附图,将使用相同的标号来表示相同或相似的部件。
以下将参照框图或流程图来详细描述用于嵌入式系统的请求调页设备和方法。
图2是示出根据本发明示例性实施例的用于嵌入式系统的请求调页设备的构思的框图。该用于嵌入式系统的请求调页设备包括:地址空间110内的请求调页窗口100、物理存储器200、非易失性存储装置300和请求调页管理器400。
非易失性存储装置300是用于存储可以进行请求调页的代码和数据的空间,即使电源被断开,非易失性存储装置300也能保持存储在其中的信息,从而当重新供电时可再使用存储的信息,非易失性存储装置300表示闪存、只读存储器(ROM)、磁带或磁盘。
更具体地讲,闪存能够自由地存储和删除数据,并且根据其内部配置被分为NOR闪存或NAND闪存。NOR闪存具有其单元彼此并联的配置,而NAND闪存具有其单元彼此串联的配置。NAND闪存可具有比NOR闪存低的制造成本,并且能够实现比NOR闪存高的容量,而NOR闪存可具有比NAND闪存短的数据访问时间和比NAND闪存好的数据稳定性。然而,示例性实施例不需要这些方面,并且没有这些方面也可以预见示例性实施例。
在示例性实施例中,NAND闪存可用作非易失性存储装置300,以实现允许嵌入式系统的应用程序直接控制请求调页功能的优点。
物理存储器200是处理从非易失性存储装置300读取的关于请求页的信息的存储器类型。RAM通常用作物理存储器200。
请求调页窗口100是存储在非易失性存储装置300中的应用程序所查看和引用的地址空间110的一部分。请求调页窗口100是产生读取的页的页错误从而使请求调页发生的区域。可以不管操作系统而由用户程序产生请求调页窗口100。为此,请求调页管理器400在应用程序级被初始化,并且请求调页窗口100注册在请求调页管理器400中。由于这种注册过程可以重复多次,所以可以同时使用多个请求调页窗口100。在请求调页窗口100的注册完成之后,请求调页管理器400被请求激活请求调页窗口100,因此,请求调页窗口100被激活。
请求调页管理器400用于处理从请求调页窗口100产生的页错误。图3详细示出请求调页管理器400的结构,图3是示出请求调页管理器400和请求调页存储池200A的结构的示图,该结构是请求调页设备的结构的一部分。从物理存储器200将该存储器的一部分分配给请求调页管理器400,请求调页管理器400产生用于执行请求调页的请求调页存储池200A。
请求调页存储池200A包括:帧缓冲器220,由映射到请求调页窗口100内的虚拟存储空间的物理存储器形成;存储器转换表210,将关于映射的信息通知给存储管理单元(MMU)500;和帧缓冲器列表230,是用于管理帧缓冲器220的数据结构。此外,请求调页管理器400包括接口模块410、页高速缓冲管理模块420和页错误处理模块430。
必须由独立于操作系统的应用程序产生请求调页窗口100。为了使用请求调页设备处理页错误,必须初始化请求调页管理器400。接口模块410执行有关功能,从而激活存储管理单元。
页高速缓冲管理模块420用于应接口模块410的请求对帧缓冲器220和帧缓冲器列表230进行初始化。结果,产生帧缓冲器220和帧缓冲器列表230。
页错误处理模块430是一种由激活的存储管理单元调用的页错误处理程序。当产生页错误中断时,页错误处理模块430用于确定是否在请求调页窗口100的区域中产生了所述中断并处理页错误。
如参照图4所述,接口模块410可负责初始化处理,其中,对示例性实施例的设备执行初始化处理以执行请求调页功能。
图4是示出接口模块410的结构的示图,该结构是请求调页管理器的结构的一部分。应用程序接口(API)412执行接收应用程序对产生请求调页窗口100的请求和信息的功能。在这种情况下,所述信息包括关于请求调页窗口100的大小和地址的信息、关于请求调页存储池200A的大小的信息和关于存储在非易失性存储装置300中的代码和数据的位置的信息。
存储器转换表产生单元414用于从请求调页存储池200A分配存储器,并产生用于请求调页窗口100的区域的存储器转换表210。在这种情况下,操作根据存储管理单元500是否已被激活而变化。
如果存储管理单元500已停止,那么请求调页管理器400必须重新更新用于整个地址空间的存储器转换表210,并向中央处理单元(CPU)注册存储器转换表210。这样做的原因是因为,对于存储管理单元500的激活而言,存储器转换表210总是必需的。然而,如果存储管理单元500已经被激活,那么这意味着对整个地址空间而言向系统注册的存储器转换表210已经存在,因此请求调页管理器400不必重新更新整个表。不管存储管理单元500是否被激活,在以上处理完成之后,存在用于整个地址空间的存储器转换表210。
现在,必须修改用于请求调页窗口100的区域的存储器转换表210以产生页错误中断。如果可由CPU识别的特定值被输入存储器转换表210,那么当从相应的存储器读取数据或者将数据写入相应的存储器时产生页错误中断。也就是说,该处理是初始化存储器转换表210以在请求调页窗口100的区域中产生页错误中断的处理。
页错误处理程序安装单元416用于向CPU注册页错误处理模块430。如果产生了页错误中断,那么存储管理单元调用被称为页错误处理程序并向CPU注册的特定程序(routine)。由于页错误处理模块430执行相应于页错误处理程序的功能,所以页错误处理模块430必须已经向CPU注册。MMU控制单元418用于控制调用注册的页错误处理模块430的存储管理单元500。
诸如“模块”和“表”的在示例性实施例中使用的术语“单元”表示诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)的软件和硬件组件。所述模块执行功能。然而,这并不是说所述模块限于软件或硬件。所述模块可以被配置为存在于可寻址存储介质中,并且可被配置为在一个或多个处理单元上执行。例如,所述模块可包括诸如软件组件、面向对象的软件组件、类组件和任务组件的组件、进程、函数、属性、程序、子程序、程序代码段、驱动程序、固件、微码、电路、数据、数据库、数据结构、表、数组和参数。所述组件和模块提供的功能可用较少量的组件和模块来组合,或者可被分成另外的组件和模块。此外,可将所述组件和模块实现为在装置内的一个或多个CPU上执行。
以下将参照图5和图6来描述执行根据本发明示例性实施例的请求调页方法的过程。图5是示出根据本发明示例性实施例的用于嵌入式系统的请求调页方法的构思的流程图,图6是示出初始化请求调页管理器的处理的流程图。
首先,在操作S110,应存储在非易失性存储装置300中的应用程序的请求,产生请求调页窗口100,即,产生请求调页的区域。其后,在操作S120,对用于处理从请求调页窗口100产生的页错误的请求调页管理器400进行初始化,从而激活存储管理单元500。
将参照图6来详细描述以上初始化处理。首先,在操作S122,用户使用的应用程序请求请求调页管理器400在虚拟地址空间110中产生请求调页窗口100。在这种情况下,应用程序将信息移交给请求调页管理器400。也就是说,关于请求调页窗口100占据的虚拟地址空间110的大小和地址的信息、关于被请求执行请求调页的请求调页存储池200A的大小的信息和关于存储在非易失性存储装置300中的代码和数据的位置的信息被移交。
当产生请求调页窗口100时,操作系统分配存储器,并且在操作S124,产生用于请求调页窗口100的区域的存储器转换表。在操作S126,向CPU注册页错误处理模块430,然后在操作S128,激活用于调用注册的页错误处理模块430的存储管理单元500,从而完成初始化,其中,页错误处理模块430是当产生页错误中断时用于处理页错误中断的处理程序。
同时,在操作S130,当初始化处理完成之后在请求调页窗口100中产生页错误时,使用激活的存储管理单元500来调用页错误处理模块430,其中,页错误处理模块430是向CPU注册的页错误处理程序。
在操作S140,调用的页错误处理模块430确定是否在请求调页窗口100中产生了页错误。如果请求调页窗口100中产生了页错误,那么在操作S150,页错误处理模块430执行处理页错误的操作。如果没有在请求调页窗口100中而是在另一区域中产生了页错误,那么在操作S160,使用现有的注册的页错误处理程序来处理页错误。
以下更详细地描述操作S150。如果请求调页窗口100中产生了页错误,那么请求调页存储池200A内的帧缓冲器220被分配给请求调页管理器400,并且页错误处理模块430使用分配的帧缓冲器220从非易失性存储装置300中读取页。根据读取的页来修改存储器转换表。以上详细描述的非易失性存储装置300可以是NAND闪存。
现有技术的操作系统使用请求调页技术来管理用于进程的全部空间,而示例性实施例中提出的请求调页窗口分配应用程序使用的物理存储空间的一部分,因此可以采用请求调页技术。可如在现有技术的物理存储器系统中一样,使用除了请求调页窗口的区域以外的空间。对于为请求调页窗口的区域设置的存储器的部分,使用有限大小的物理存储器来访问存储在大容量的非易失性存储装置中的代码和数据。由于应用程序起仅对请求调页窗口设置应用程序的全部存储空间的一部分的主要作用,所以可容易地将代码分为将在请求调页窗口中执行的代码或必须保证快速响应时间的代码。因此,本请求调页技术还可使用在使用现有技术的实时操作系统的应用程序中。
同时,本领域技术人员会清楚,本发明的范围包括存储用于在计算机上执行上述用于嵌入式系统的请求调页方法的程序代码的计算机可读记录介质。
根据示例性实施例的用于嵌入式系统的请求调页设备和方法,可存在的优点是:请求调页技术可以容易地使用在使用不支持请求调页的操作系统的系统和缺少操作系统的系统中。此外,根据示例性实施例,可以组件形式提供请求调页管理器。因此,可在应用程序级而不是操作系统级自由和直接地控制请求调页功能。因此,由于可减小系统对主存储器的使用,所以可减少有关产品的制造成本。然而,实践本发明不需要前述优点,可以按不脱离本发明范围的方式来实践本发明而没有前述优点。
示例性实施例的效果不限于上述效果,本领域技术人员从权利要求中可以清楚地理解以上没有描述的其它效果。
尽管为示例性的目的公开了本发明的示例性实施例,但是本领域技术人员应该理解,在不脱离如权利要求中所公开的本发明的精神和范围的情况下,可以进行各种修改、添加和替换。

Claims (17)

1、一种用于嵌入式系统的请求调页设备,包括:
非易失性存储装置,存储配置为通过请求调页处理的代码和数据;
物理存储器,处理关于请求页的信息,所述信息从非易失性存储装置读取;
请求调页窗口,产生请求页错误,因而使请求调页发生,请求调页窗口是存储在非易失性存储装置中的应用程序所引用的地址空间的一部分;
请求调页管理器,处理在请求调页窗口中产生的页错误。
2、如权利要求1所述的请求调页设备,其中,物理存储器的一部分被分配给请求调页管理器,请求调页管理器产生执行请求调页的请求调页存储池。
3、如权利要求2所述的请求调页设备,其中,请求调页存储池包括:
帧缓冲器,被映射到请求调页窗口中的虚拟存储空间;
存储器转换表,将关于映射的信息通知给存储管理单元;
帧缓冲器列表,用于管理帧缓冲器。
4、如权利要求3所述的请求调页设备,其中,请求调页管理器包括:
接口模块,初始化请求调页管理器,并激活存储管理单元;
页高速缓冲管理模块,响应于接口模块的请求,对帧缓冲器和帧缓冲器列表进行初始化;
页错误处理模块,确定在请求调页窗口的区域中是否产生了激活的存储管理单元产生的页错误,从而处理所述页错误。
5、如权利要求4所述的请求调页设备,其中,接口模块包括:
应用程序接口,从应用程序接收产生请求调页窗口的请求和信息;
存储器转换表产生单元,从请求调页存储池向其分配存储器,并且存储器转换表产生单元产生用于请求调页窗口的区域的存储器转换表;
页错误处理程序安装单元,将页错误处理模块注册在中央处理单元中;
存储管理单元控制单元,控制存储管理单元调用注册的页错误处理模块。
6、如权利要求5所述的请求调页设备,其中,从应用程序接收的信息包括关于被请求调页窗口占据的空间的大小和地址的信息、关于请求调页存储池的大小的信息和关于存储在非易失性存储装置中的代码和数据的位置的信息。
7、如权利要求1所述的请求调页设备,其中,所述非易失性存储装置是NAND闪存。
8、一种用于嵌入式系统的请求调页方法,包括:
响应于存储在非易失性存储装置中的应用程序的请求,产生请求调页窗口,所述请求调页窗口是发生请求调页的区域;
对用于处理请求调页窗口中产生的页错误的请求调页管理器进行初始化,以激活存储管理单元;
当请求调页窗口中产生页错误时,使用激活的存储管理单元来调用向中央处理单元注册的页错误处理模块;
使用调用的页错误处理模块来确定请求调页窗口中是否产生页错误;
如果请求调页窗口中产生了页错误,那么通过页错误处理模块来处理页错误。
9、如权利要求8所述的请求调页方法,其中,对请求调页管理器进行初始化的步骤包括:
从应用程序接收产生请求调页窗口的请求和信息;
由操作系统分配存储器,并产生用于请求调页窗口的区域的存储器转换表;
向CPU注册页错误处理模块,页错误处理模块在产生页错误中断的情况下被执行;
激活调用注册的页错误处理模块的存储管理单元。
10、如权利要求9所述的请求调页方法,其中,所述信息包括关于请求调页窗口占据的空间的大小和地址的信息、关于被请求执行请求调页的存储器的大小的信息和关于存储在非易失性存储装置中的代码和数据的位置的信息。
11、如权利要求9所述的请求调页方法,其中,处理页错误的步骤包括:
如果请求调页窗口中产生了页错误,那么将请求调页存储池内的帧缓冲器分配给请求调页管理器;
页错误处理模块使用帧缓冲器从非易失性存储装置读取页;
根据读取的页来修改存储器转换表。
12、如权利要求8所述的请求调页方法,其中,所述非易失性存储装置是NAND闪存。
13、一种存储用于执行请求调页方法的程序代码的计算机可读记录介质,所述方法包括:
响应于存储在非易失性存储装置中的应用程序的请求,产生请求调页窗口,所述请求调页窗口是发生请求调页的区域;
对用于处理请求调页窗口中产生的页错误的请求调页管理器进行初始化,以激活存储管理单元;
当请求调页窗口中产生页错误时,使用激活的存储管理单元来调用向中央处理单元注册的页错误处理模块;
使用调用的页错误处理模块来确定请求调页窗口中是否产生页错误;
如果请求调页窗口中产生了页错误,那么通过页错误处理模块来处理页错误。
14、如权利要求13所述的计算机可读介质,其中,对请求调页管理器进行初始化的步骤包括:
从应用程序接收产生请求调页窗口的请求和信息;
由操作系统分配存储器,并产生用于请求调页窗口的区域的存储器转换表;
向CPU注册页错误处理模块,页错误处理模块在产生页错误中断的情况下被执行;
激活调用注册的页错误处理模块的存储管理单元。
15、如权利要求14所述的计算机可读介质,其中,所述信息包括关于请求调页窗口占据的空间的大小和地址的信息、关于被请求执行请求调页的存储器的大小的信息和关于存储在非易失性存储装置中的代码和数据的位置的信息。
16、如权利要求14所述的计算机可读介质,其中,处理页错误的步骤包括:
如果请求调页窗口中产生了页错误,那么将请求调页存储池内的帧缓冲器分配给请求调页管理器;
页错误处理模块使用帧缓冲器从非易失性存储装置读取页;
根据读取的页来修改存储器转换表。
17、如权利要求13所述的计算机可读介质,其中,所述非易失性存储装置是NAND闪存。
CNB2006101692556A 2005-12-27 2006-12-21 用于嵌入式系统的请求调页设备和方法 Active CN100456266C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050130804A KR100755701B1 (ko) 2005-12-27 2005-12-27 내장형 시스템을 위한 요구 페이징 장치 및 방법
KR1020050130804 2005-12-27

Publications (2)

Publication Number Publication Date
CN1991796A true CN1991796A (zh) 2007-07-04
CN100456266C CN100456266C (zh) 2009-01-28

Family

ID=37897431

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101692556A Active CN100456266C (zh) 2005-12-27 2006-12-21 用于嵌入式系统的请求调页设备和方法

Country Status (6)

Country Link
US (1) US7617381B2 (zh)
EP (1) EP1811384B1 (zh)
JP (1) JP2007179537A (zh)
KR (1) KR100755701B1 (zh)
CN (1) CN100456266C (zh)
DE (1) DE602006020015D1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117184B (zh) * 2010-01-05 2017-06-27 联想(北京)有限公司 用于多存储器的控制器、终端设备及其启动和访问方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8144358B1 (en) * 2006-12-20 2012-03-27 Marvell International Ltd. Providing demonstration page information in an imaging device
KR101352512B1 (ko) * 2007-01-15 2014-01-17 삼성전자주식회사 효율적인 메모리 사용을 위한 스택 관리 장치 및 방법
KR100866627B1 (ko) * 2007-01-29 2008-11-03 삼성전자주식회사 컨트롤 플로우를 이용한 페이지 프리로드 방법 및 그시스템
US20080229050A1 (en) * 2007-03-13 2008-09-18 Sony Ericsson Mobile Communications Ab Dynamic page on demand buffer size for power savings
GB2460462A (en) * 2008-05-30 2009-12-02 Symbian Software Ltd Method for loading software components into RAM by modifying the software part to be loaded based on the memory location to be used.
GB2460636A (en) * 2008-05-30 2009-12-09 Symbian Software Ltd Storing operating-system components in paged or unpaged parts of memory
GB2461499A (en) * 2008-05-30 2010-01-06 Symbian Software Ltd Loading software stored in two areas into RAM, the software in a first area is loaded whole and from a second it is demand paged loaded.
US8352940B2 (en) * 2008-06-09 2013-01-08 International Business Machines Corporation Virtual cluster proxy to virtual I/O server manager interface
US20120110030A1 (en) * 2009-04-10 2012-05-03 Mark Pomponio Software database system and process of building and operating the same
US20120236010A1 (en) * 2011-03-15 2012-09-20 Boris Ginzburg Page Fault Handling Mechanism
CN102792296B (zh) * 2011-08-15 2016-10-26 展讯通信(上海)有限公司 移动终端中请求页面调度方法、控制器以及移动终端
US10114758B2 (en) * 2013-09-13 2018-10-30 Nvidia Corporation Techniques for supporting for demand paging
EP3153971B1 (en) * 2015-10-08 2018-05-23 Huawei Technologies Co., Ltd. A data processing apparatus and a method of operating a data processing apparatus
US10733096B2 (en) * 2017-11-22 2020-08-04 Samsung Electronics Co., Ltd. System and method for frame buffer
KR102202211B1 (ko) 2019-03-28 2021-01-13 국민대학교산학협력단 애플리케이션의 로딩 성능 개선을 위한 입출력 최적화 장치 및 방법
US11392739B1 (en) 2019-08-10 2022-07-19 MIFrontiers Method and system for processing big data
KR102400977B1 (ko) 2020-05-29 2022-05-25 성균관대학교산학협력단 프로세서를 통한 페이지 폴트 처리 방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742447A (en) 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
US5095420A (en) 1988-11-21 1992-03-10 International Business Machines Method and system for performing virtual address range mapping in a virtual storage data processing system
JPH04344549A (ja) * 1991-05-21 1992-12-01 Nec Corp 計算機システムにおけるページ割り当て方式
EP0683909A1 (en) 1993-02-12 1995-11-29 Unisys Corporation Computer workstation having demand-paged virtual memory
US6349375B1 (en) * 1994-02-02 2002-02-19 Compaq Computer Corporation Compression of data in read only storage and embedded systems
JP2000222140A (ja) * 1999-01-28 2000-08-11 Seiko Epson Corp プリンタおよびプリンタのメモリ管理方法並びにプログラムを記録した記録媒体
JP3898369B2 (ja) * 1999-02-10 2007-03-28 富士通株式会社 ページング処理装置および記録媒体
JP2000235414A (ja) 1999-02-16 2000-08-29 Toyota Motor Corp 自動走行システム
US6862651B2 (en) * 2000-12-20 2005-03-01 Microsoft Corporation Automotive computing devices with emergency power shut down capabilities
US7165137B2 (en) * 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
CN1521634A (zh) * 2003-02-11 2004-08-18 连邦科技股份有限公司 虚拟nor型闪存
US6947051B2 (en) * 2003-02-18 2005-09-20 Microsoft Corporation Video memory management
CN1285039C (zh) * 2003-02-18 2006-11-15 精品科技股份有限公司 具有虚拟空间加密隐藏数据的方法
KR20040102826A (ko) * 2003-05-29 2004-12-08 유티스타콤코리아 유한회사 실시간 운영체제에서 소프트웨어적인 메모리 보호 방법
GB2404748B (en) * 2003-08-01 2006-10-04 Symbian Ltd Computing device and method
JP2005078419A (ja) * 2003-09-01 2005-03-24 Ricoh Co Ltd 情報処理装置及びファイル管理方法
KR20050075533A (ko) 2004-01-15 2005-07-21 엘지전자 주식회사 개인용 휴대단말기의 디멘드 페이징 방법 및 페이지 내에관련 페이지 정보를 입력하는 방법
US8239673B2 (en) * 2004-04-08 2012-08-07 Texas Instruments Incorporated Methods, apparatus and systems with loadable kernel architecture for processors
US7941799B2 (en) * 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US7457909B2 (en) * 2005-01-14 2008-11-25 Angelo Di Sena Controlling operation of flash memories

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117184B (zh) * 2010-01-05 2017-06-27 联想(北京)有限公司 用于多存储器的控制器、终端设备及其启动和访问方法

Also Published As

Publication number Publication date
JP2007179537A (ja) 2007-07-12
DE602006020015D1 (de) 2011-03-24
US20070150695A1 (en) 2007-06-28
KR20070068801A (ko) 2007-07-02
EP1811384A3 (en) 2008-02-06
EP1811384B1 (en) 2011-02-09
US7617381B2 (en) 2009-11-10
CN100456266C (zh) 2009-01-28
KR100755701B1 (ko) 2007-09-05
EP1811384A2 (en) 2007-07-25

Similar Documents

Publication Publication Date Title
CN1991796A (zh) 用于嵌入式系统的请求调页设备和方法
CN109542333B (zh) 存储器系统及控制非易失性存储器的控制方法
US9563382B2 (en) Methods, systems, and computer readable media for providing flexible host memory buffer
US9256527B2 (en) Logical to physical address mapping in storage systems comprising solid state memory devices
RU2509347C2 (ru) Гибкое увеличение страниц памяти
US8201024B2 (en) Managing memory faults
JP5636034B2 (ja) データ利用についてのマウント時間の調停
US9990277B2 (en) System and method for efficient address translation of flash memory device
CN1822217A (zh) 将数据存储在非易失性高速缓冲存储器中的设备和方法
US20080126742A1 (en) Safe and efficient allocation of memory
JP2008084317A (ja) 異種セルタイプを支援する不揮発性メモリのためのマッピング装置および方法
KR102443600B1 (ko) 하이브리드 메모리 시스템
CN1722109A (zh) 增量归并方法和使用该方法的存储系统
KR20100081880A (ko) 비휘발성 메모리와, 이의 페이지 동적할당장치 및 페이지 매핑장치와, 이의 페이지 동적할당방법 및 페이지 매핑방법
CN1705936A (zh) 用于分割一逻辑块的方法及设备
CN1704903A (zh) 一种快照备份的方法
CN114372007A (zh) 存储器系统及控制非易失性存储器的控制方法
KR20110050457A (ko) 플래시 메모리 저장 장치에서 동적 메모리 할당에 의해 일어나는 자기 축출을 회피하는 방법
US11422930B2 (en) Controller, memory system and data processing system
US11151064B2 (en) Information processing apparatus and storage device access control method
US20090031100A1 (en) Memory reallocation in a computing environment
US20230384957A1 (en) Storage device providing high purge performance and memory block management method thereof
US11061728B2 (en) Systems and methods for heterogeneous address space allocation
CN117149052A (zh) 提供高清除性能的存储设备及其存储块管理方法
KR20230166803A (ko) 높은 퍼지 성능을 제공하는 스토리지 장치 및 그것의 메모리 블록 관리 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant