KR20100084722A - A web browser cache management technique for mobile full browsing on nand-based devices - Google Patents

A web browser cache management technique for mobile full browsing on nand-based devices Download PDF

Info

Publication number
KR20100084722A
KR20100084722A KR1020090004006A KR20090004006A KR20100084722A KR 20100084722 A KR20100084722 A KR 20100084722A KR 1020090004006 A KR1020090004006 A KR 1020090004006A KR 20090004006 A KR20090004006 A KR 20090004006A KR 20100084722 A KR20100084722 A KR 20100084722A
Authority
KR
South Korea
Prior art keywords
file
nand flash
flash memory
threshold
web browser
Prior art date
Application number
KR1020090004006A
Other languages
Korean (ko)
Inventor
김지홍
하건수
Original Assignee
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Priority to KR1020090004006A priority Critical patent/KR20100084722A/en
Publication of KR20100084722A publication Critical patent/KR20100084722A/en

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/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
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

PURPOSE: A web browser caching method for a NAND flash memory based system which supports full browsing is provided to selectively store a web page file which the probability of being reused is high and a renewal is not occurred in a web browser cache, thereby improving the performance of the web browser cache and extending the lifetime of a NAND flash memory. CONSTITUTION: If a user requests the access of a web page on a web browser through a mouse or a keyboard, the web browser examines a file saved in a cache(102). If the requested file exists, the web page reads the requested file and is indicated on a screen. If the requested file does not exist, the requested file is received from a web server. If the storage into the cache about the requested file is decided, the file is saved and is outputted through the screen.

Description

풀 브라우징을 지원하는 낸드 플래시 메모리 기반의 시스템을 위한 웹 브라우저 캐시 관리 기법 {A Web Browser Cache Management Technique for Mobile Full Browsing on NAND-based Devices}A Web Browser Cache Management Technique for Mobile Full Browsing on NAND-based Devices}

본 발명은 낸드 플래시 메모리를 보조 기억 장치로 사용하고 풀 브라우징을 지원하는 장치에서의 웹 브라우저 캐시 관리 기법이다.The present invention is a web browser cache management technique in a device that uses NAND flash memory as an auxiliary storage device and supports full browsing.

(1) 풀 브라우징 서비스(1) Full Browsing Service

풀 브라우징 서비스란, 핸드폰, PDA, PMP 등과 같은 데스크톱 컴퓨터에 비해서 상대적으로 하드웨어 자원이 열악한 환경에서 인터넷을 이용하는데 있어서, 마치 데스크톱 컴퓨터에서 인터넷을 이용하는 것과 마찬가지의 웹 페이지 화면을 사용자에게 제공하는 서비스를 말한다.A full browsing service is a service that provides a web page screen to a user, similar to using the Internet on a desktop computer, when using the Internet in an environment in which hardware resources are inferior to a desktop computer such as a mobile phone, a PDA, or a PMP. Say.

(2) 웹 브라우저 및 웹브라우저 캐시       (2) Web browser and web browser cache

웹 브라우저는 웹 서버로부터 다운로드 받은 파일을 사용자가 볼 수 있도록 해석하여 화면에 출력하는 응용프로그램이다. 사용자가 웹 페이지를 웹 브라우저 화면에서의 마우스나 키보드 등을 통해서 요청하게 되면, 웹 브라우저는 웹 서버에 해당 파일을 요청해서 사용자 컴퓨터의 메모리 공간에 임시로 저장하여 사용자가 읽을 수 있도록 처리한다. 그리고 추후에 사용자가 해당 웹페이지를 다시 방문할 경우에 웹 서버로부터 다시 내려받는 것을 피하기 위해서 그 내려받은 파일을 웹 브라우저 캐시에 저장한다. 일반적으로 웹 브라우저에서는 사용자가 웹 브라우저 캐시의 사이즈를 지정해 놓게 설계되어 있으며, 이 정해진 용량 이상의 파일이 저장되어야 할 경우에는, 일반적으로 사용 안 된 순서로 정렬하여 가장 사용 안 된 파일을 삭제하고, 요청된 파일을 저장하는 방식으로 동작한다.A web browser is an application program that interprets a file downloaded from a web server so that a user can view it and outputs it to the screen. When a user requests a web page through a mouse or keyboard on a web browser screen, the web browser requests the file from a web server and temporarily stores the file in a memory space of the user's computer so that the user can read it. If the user later visits the web page again, the downloaded file is stored in the web browser cache to avoid downloading from the web server. In general, the web browser is designed to allow the user to specify the size of the web browser cache, and when files larger than this fixed capacity are to be stored, the most unused files are deleted in a sorted order in the unused order. It works by saving old files.

(3) 낸드 플래시 메모리(3) NAND flash memory

낸드 플래시 메모리는 여러 개의 블록으로 구성되어 있고, 각 블록은 여러 개의 페이지로 구성되어 있다. 각 페이지는 읽기와 쓰기의 기본 단위가 되며, 각 블록은 지우기의 기본 단위가 된다. 낸드 플래시 메모리는 읽기 속도는 빠르나, 쓰기 속도와 지우기 속도는 매우 느린 특성이 있다. 또한, 낸드 플래시 메모리는 업데이트 연산을 지원하지 않는다. 따라서 갱신을 위해서는 기존의 페이지 영역을 무효화하고 새로운 데이터를 다른 페이지에 저장해야 한다. 따라서 각 데이터가 어디에 저장되어 있는지 파일 시스템이나 Flash Tranlation Layer 라는 주소변환계층에 저장해서 데이터를 읽거나 갱신할 때 사용한다. 무효화 된 영역이 늘어나면 사용할 수 있는 플래시 영역이 줄어들기 때문에, 가비지 컬렉션이라는 연산을 통해서 낸드 플래시 메모리 내부의 무효화 된 영역을 삭제 연산을 통해서 비워주고 사용해야 한다. 가비지 컬렉션 연산은 무효화 된 영역을 많이 저장하고 있는 블록을 선택하여 그 블록 내에 아직 유효한 데이터를 다른 새로운 블록에 복사하고, 무효화 된 영역을 많이 저장한 블록을 삭제하는 연산이다. 낸드 플래시 메모리는 각 블록마다 제한된 삭제 수가 있다. 즉 각 블록이 제한된 삭제 수 이상 삭제가 되면 더 이상은 해당 블록에 데이터를 저장했을 때, 데이터의 안정성을 보장할 수 없게 된다. 따라서 낸드 플래시 메모리를 효율적으로 사용하기 위해서는 각 블록이 골고루 삭제될 수 있도록 처리되어야 한다.NAND flash memory consists of several blocks, each of which consists of several pages. Each page becomes the basic unit of reading and writing, and each block becomes the basic unit of erasing. NAND flash memory has fast read speeds but very slow write and erase speeds. Also, NAND flash memory does not support update operations. Therefore, updating requires invalidating the existing page area and storing new data in another page. Therefore, where each data is stored, it is stored in the file system or the address translation layer called Flash Tranlation Layer to use when reading or updating data. As the invalidated area increases, the available flash area decreases. Therefore, the invalidated area inside the NAND flash memory must be emptied and used through a delete operation through a garbage collection operation. The garbage collection operation selects a block that stores a large number of invalidated areas, copies the data that is still valid within that block to another new block, and deletes the block that stores a large amount of the invalidated area. NAND flash memory has a limited number of erases per block. That is, if each block is deleted more than the limited number of deletions, when the data is stored in the block, the stability of the data can no longer be guaranteed. Therefore, in order to use NAND flash memory efficiently, each block must be processed to be evenly erased.

웹 브라우저에서 웹 서버로부터 다운로드 받은 파일을 모두 웹 브라우저 캐시에 저장하게 되면, 웹 브라우저 캐시의 미디어인 낸드 플레시 메모리에 그 파일을 저장하기 위해서 쓰기 요청을 수행하게 된다. 그러나 대부분의 웹 페이지 파일은 재사용이 안 되기 때문에, 이러한 파일을 모두 낸드 플레시 메모리에 저장하게 되면 상대적으로 느린 낸드 플래시 메모리의 쓰기 연산을 쓸데없이 많이 사용하게 된다. 게다가 이런 파일들은 플래시 메모리에서 가비지 콜렉션 연산을 수행하는 동안 언제 재사용될지도 모른 채 읽기, 쓰기, 지우기 연산 등을 낭비하게 한다. 또한 자주 갱신이 되는 파일은 낸드 플래시 메모리에 저장될 경우, 바로 저장된 영역에서 갱신을 할 수 없으므로, 가비지 콜렉션 부하만 늘리게 된다. When a web browser stores all files downloaded from a web server in a web browser cache, a write request is performed to store the file in NAND flash memory, which is the media of the web browser cache. However, since most web page files are not reusable, storing all of these files in NAND flash memory will use the relatively slow write operations of NAND flash memory. In addition, these files waste read, write, and erase operations during garbage collection operations in flash memory, even when they may be reused. Also, files that are frequently updated cannot be updated in the stored area immediately when they are stored in NAND flash memory, thus increasing the garbage collection load.

결과적으로 늘어난 쓰기, 지우기 연산들에 의해서 웹 브라우저 캐시의 전체적인 성능은 감소하게 되고, 낸드 플래시 메모리의 수명도 단축하게 된다.As a result, the increased write and erase operations reduce the overall performance of the Web browser cache and shorten the lifetime of the NAND flash memory.

제안된 기술에서는 상대적으로 재사용될 확률이 높고, 갱신이 일어나지 않을 것이라고 판단되는 웹 페이지 관련 파일만을 웹 브라우저 캐시에 저장하도록 한다. In the proposed technique, only files related to web pages that are relatively likely to be reused and that update is not likely to be stored are stored in the web browser cache.

종래의 방법은 웹 브라우저에서 내려받은 모든 파일들을 낸드 플래시 메모리에 웹 브라우저 캐시에 무조건 기록하게 됨으로써, 낸드 플래시 메모리 내에서의 불필요한 읽기, 쓰기, 지우기 등의 연산을 유발하게 되고, 이로 인하여, 사용자가 느끼는 반응 시간의 저하, 낸드 플래시 메모리의 수명 단축 등의 문제를 야기한다.In the conventional method, all files downloaded from the web browser are unconditionally written to the NAND flash memory in the web browser cache, causing unnecessary reading, writing, and erasing operations in the NAND flash memory. It causes problems such as a decrease in response time and shortened lifetime of the NAND flash memory.

본 기술에서는 상대적으로 재사용될 확률이 높고, 갱신이 일어나지 않을 것이라고 판단되는 웹 페이지 파일을 선택적으로 웹 브라우저 캐시에 함으로써, 불필요한 읽기, 쓰기, 지우기 등의 낸드 플래시 메모리의 연산을 줄여서, 웹 브라우저 캐시의 성능을 향상시키고, 낸드 플래시 메모리의 수명을 연장할 수 있다.In this technology, by selectively placing web page files that are relatively likely to be reused and that update is not likely to occur in the web browser cache, the operation of the NAND flash memory such as unnecessary reading, writing, erasing, etc. can be reduced, It can improve performance and extend the life of NAND flash memory.

(1) 본 발명의 전반적인 작동 순서      (1) Overall operating sequence of the present invention

도 1 은 본 발명에서 제시한 기술의 순서도다. 먼저 사용자가 웹 페이지 마우스나 키보드를 통해 웹브라우저 상에서 웹 페이지 접근을 요청(101) 하면, 웹 브 라우저는 캐시에 해당하는 파일이 있는지 조사(102)한다. 만약에 요청한 파일이 존재하게 되면(103), 요청된 파일을 읽어서(104) 사용자에게 해당 웹 페이지를 처리하여(109) 화면에 결과를 보여준다. 만약 요청한 파일이 존재하지 않으면(105), 요청된 파일을 웹 서버로부터 내려받는다(106). 이때, 제안된 기술에서는 웹 브라우저 캐시에 저장할지 여부를 검사한다(107). 만약 저장하지 않기로 결정하게 되면 그 파일을 파일 처리해서(109) 화면에 보여줄 뿐 웹 브라우저 캐시에 저장하지 않는다. 만약 저장하기로 결정하면(110), 파일을 저장(111)한 후, 해당 파일을 처리(109) 한 후, 사용자에게 파일 처리한 결과를 화면을 통해서 출력한다.1 is a flow chart of the technique presented in the present invention. First, when a user requests 101 to access a web page on a web browser via a web page mouse or keyboard, the web browser checks 102 whether there is a file corresponding to a cache. If the requested file exists (103), the requested file is read (104), the user processes the web page (109) and the result is displayed on the screen. If the requested file does not exist (105), the requested file is downloaded from the web server (106). In this case, the proposed technology checks whether to store in the web browser cache (107). If the user decides not to save the file, the file is processed (109) and displayed on the screen, and is not stored in the web browser cache. If it is determined to save (110), after the file is stored (111), after processing the file (109), and outputs the result of the file processing to the user through the screen.

(2) 웹 브라우저 캐시 메모리로의 저장 여부 결정(2) Determine whether to save to web browser cache memory

도 1의 107 에서 웹 브라우저 캐시에 요청된 파일을 웹 브라우저 캐시에 저장할지 말지를 결정한다. 이를 위해서 발명된 기술에서는 메인 메모리 공간에서 해당 파일이 얼마나 많이 접근되는지를 기록하고 있다가, 일정 수준 이상의 접근 횟수를 가지고 있다고 판단되면 낸드 플레시 메모리에 저장하는 방식을 채택한다. 또한 낸드 플래시 메모리는 갱신 발생에 대해서도 성능이 저하되고 불필요한 연산이 발생할 가능성이 크기 때문에, 해당 파일이 메인 메모리에 저장되어 있는 동안, 갱신 수가 일정 수준 미만인 경우에 대해서만 낸드 플래시 메모리로의 기록을 허용한다. 도 2는 메인 메모리와 낸드 플래시 메모리를 웹 브라우저로 사용하고 있는 시스템의 개념도이다. 이 시스템은 프로세서(201)를 가지고 있으며, 메인 메모리(202)와 낸드 플래시 메모리(204) 를 웹 브라우저 캐시로 활용한다. 그리고 네트워크 인터페이스(203)를 통해서 웹 서버와 통신한다. 여기서 메인 메모리(201)에서 임시로 파일들을 저장하고 메인 메모리로부터 해당 파일이 삭제될 때, 낸드 플래시 메모리에 저장 여부를 결정하게 된다. 메인 메모리(201)에서의 파일 삭제는 언제 해당 파일이 웹 브라우저로부터 읽혀졌느냐로 결정된다. 메인 메모리(201) 상의 웹 브라우저 캐시 값을 사용자가 미리 설정해 놓고, 웹 페이지 파일을 이 이상 저장하게 되면 메인 메모리(201) 상에 공간이 부족하게 되므로, 이때 가장 사용한 지 오래된 파일을 메인 메모리(201) 로 부터 지우게 된다.In 107 of FIG. 1, it is determined whether or not the file requested in the web browser cache is stored in the web browser cache. In order to accomplish this, the present invention records how many files are accessed in the main memory space, and when it is determined that the number of accesses has a predetermined level or more, it stores the data in the NAND flash memory. In addition, NAND flash memory deteriorates even when an update occurs and there is a high possibility that unnecessary operations may occur, thus allowing writing to NAND flash memory only when the number of updates is less than a certain level while the file is stored in main memory. . 2 is a conceptual diagram of a system using a main memory and a NAND flash memory as a web browser. The system has a processor 201 and utilizes the main memory 202 and the NAND flash memory 204 as web browser caches. And communicates with the web server via the network interface 203. Here, when the files are temporarily stored in the main memory 201 and the corresponding files are deleted from the main memory, it is determined whether to store them in the NAND flash memory. The deletion of a file in main memory 201 is determined when the file was read from a web browser. If the user sets the web browser cache value on the main memory 201 in advance, and stores the web page file more than that, the space on the main memory 201 is insufficient. Therefore, the oldest file is used. Will be deleted from).

이때, 해당 파일의 도 3 순서도에 의해서 낸드 플래시 메모리(204)로 저장될 지의 여부가 결정된다. 도 3 은 도 1 107 을 구체적으로 표현한 선택적인 저장을 판단하는 순서도이다. 설명한 바와 같이 하나의 파일이 메인 메모리로부터 삭제 되어서 해당 107 에 도착하면 해당 파일이 메인 메모리에 있는 동안 접근된 횟수와 접근 임계치라고 불리는 하나의 임계치 값과 비교한다. 해당 파일의 접근 횟수가 접근 임계치 값보다 적으면, 낸드 플래시 메모리에 저장되어도 자주 쓰일 일이 없을 것이라고 판단하고(303) 파일을 삭제한다. At this time, it is determined whether or not to be stored in the NAND flash memory 204 by the flow chart of FIG. FIG. 3 is a flow chart for determining selective storage specifically depicting FIG. 1 107. As described above, when a file is deleted from main memory and arrives at 107, the number of times the file is accessed while in main memory is compared with a threshold value called an access threshold. If the number of accesses of the file is less than the access threshold value, it is determined that it will not be frequently used even if stored in the NAND flash memory (303) and the file is deleted.

반대의 경우(302)에는 해당 파일이 메인 메모리에서 얼마나 많이 갱신되었는가를 갱신 임계치라 불리는 임계치 값과 비교한다. 만약 파일의 갱신 횟수가 갱신 임계치보다 크면(304) 파일이 낸드 플래시메모리에서 갱신될 수가 있다고 판단하고, 해당 파일을 삭제한다. 반대의 경우(305) 에는 파일이 낸드 플래시 메모리에서 갱신될 확률이 낮다고 판단하고 낸드 플래시 메모리에 저장한다.In the opposite case 302, how much the file has been updated in main memory is compared with a threshold value called an update threshold. If the file update count is greater than the update threshold (304), it is determined that the file can be updated in the NAND flash memory, and the file is deleted. In the opposite case (305), it is determined that the file is unlikely to be updated in the NAND flash memory and stored in the NAND flash memory.

여기서 접근 임계치와 갱신 임계치를 결정하기 위해서 발명된 기술에서는 낸드 플 래시 메모리에서 한 번도 사용되지 않고 삭제되는 파일의 수와 갱신 수를 참고하여 결정한다.  Herein, in order to determine an access threshold and an update threshold, the technique of the present invention is determined by referring to the number of files and the number of updates that are deleted without being used in the NAND flash memory.

메인 메모리에서와 마찬가지로 낸드 플래시 메모리에서도 사용자가 지정한 사이즈만큼만 웹 브라우저 캐시로 사용하기 때문에, 지정된 사이즈 이상의 파일들이 저장되어야 할 때, 가장 접근된 지 오래된 파일을 삭제한다. 또는 낸드 플래시 메모리에서 갱신이 일어나 버리면, 즉 파일명은 같으나 내용이 다르기 때문에 갱신이 요구되는 경우, 갱신 기능이 없는 낸드 플래시에서는 해당 파일은 삭제된다. 여기서 삭제란 직접적인 삭제 연산을 수행하는 것이 아니라, 해당 부분을 무효화하는 것을 의미한다. As in main memory, NAND flash memory uses the web browser cache only as much as the user-specified size, so when files larger than the specified size need to be stored, the oldest files are deleted. Alternatively, when an update occurs in the NAND flash memory, that is, when an update is required because the file name is the same but the contents are different, the file is deleted in the NAND flash without the update function. Here, deleting means not performing a direct delete operation but invalidating the corresponding part.

먼저 파일의 사이즈가 넘쳐서 파일이 삭제되는 경우에는 해당 파일이 낸드 플래시메모리에서 접근된 적이 있는지 없는지를 검사한다. 만약 접근된 바가 없다면, 이는 이 파일이 낸드 플래시 메모리에 저장된 후, 한 번도 사용된 적이 없다는 것을 의미한다. 이를 편의상 '접근 예측 오류' 라 하자. 갱신에 의한 파일의 무효화가 발생하는 경우, 갱신될 파일을 낸드 플래시 메모리에 저장한 셈이 된다. 이를 편의상 '갱신 예측 오류' 라고 하자. First, if a file is deleted because of its file size, it is checked whether the file has been accessed from the NAND flash memory. If not accessed, this means that the file has never been used since it was stored in NAND flash memory. For convenience, let's call it 'access prediction error'. When invalidation of a file occurs due to the update, the file to be updated is stored in the NAND flash memory. Let's call this 'update prediction error' for convenience.

도 4 는 개발된 기술에서 접근 임계치와 갱신 임계치를 접근 예측 오류와 갱신 예측 오류를 고려하여 어떻게 변경하는지를 보여준다. 이 절차는 낸드 플래시 메모리에서 접근 예측 오류 또는 갱신 예측 오류가 발생할 때마다 벌어진다. 단, 너무 임계치가 자주 바뀌는 것을 막기 위해서 접근 예측 오류와 갱신 예측 오류의 합이 어느 수준에 도달하기 전까지는(407) 임계치를 변경하지 않도록 한다. FIG. 4 shows how to change the access threshold and the update threshold in consideration of the access prediction error and the update prediction error in the developed technology. This procedure occurs whenever an access prediction error or update prediction error occurs in NAND flash memory. However, in order to prevent the threshold from changing too often, the threshold is not changed until the sum of the access prediction error and the update prediction error reaches a certain level (407).

이렇게 함으로써, 일정한 예측 오류들에 대해서 동적으로 각 임계치를 변경하도록 한다.By doing so, it is possible to dynamically change each threshold for certain prediction errors.

접근 예측 오류와 갱신 예측 오류가 미리 정해진 수만큼 많이 일어나면(401), 접근 예측 오류가 이전에 비해서 증가하였는지, 또는 접근 예측 오류만 계속 일어났는지를 검사한다. 만약 그렇다면(402) 많은 파일이 낸드 플래시 메모리에 저장된 후, 사용되지 않았음을 의미하므로 더욱 엄격한 접근 임계치가 필요하다는 것을 의미하므로 접근 임계치를 증가시킨다. 반대의 경우는(403) 많은 예측오류가 접근 예측 오류보다는 갱신 예측 오류에 원인이 있다고 판단하고, 현재의 접근 임계치는 감소시킨다. 그리고 나서 갱신 예측 오류에 대해서도 동일한 검사를 한다. 만약 갱신 예측 오류가 이전보다 증가했거나 갱신 예측 오류만 계속 발생한 경우라면(405), 많은 파일이 낸드 플래시 메모리에 저장된 이후에 갱신되어버려서 낸드 플래시 메모리에서 무효화 된 파일이 많다는 의미이므로, 더욱 엄격한 갱신 임계치를 갖기 위해서 갱신 임계치를 감소시킨다. 반대의 경우에는(406) 갱신 임계치를 증가시킨다. 그리고 난 후, 현재의 접근 예측 오류와 갱신 예측 오류 값을 저장해 놓아서 다음번 평가에 활용할 수 있도록 하고, 각각 0 으로 초기화시킨 후 절차가 종료된다.If the number of access prediction errors and update prediction errors occurs as many as a predetermined number (401), it is checked whether the access prediction error has increased compared to the previous or only the access prediction error has continued to occur. If so (402), this means that more files are stored in the NAND flash memory and then not used, meaning that a more stringent access threshold is needed, thus increasing the access threshold. In the opposite case (403) it is determined that many prediction errors are due to update prediction errors rather than access prediction errors, and the current access threshold is reduced. The same check is then made for the update prediction error. If the update prediction error has increased more than before or if only the update prediction error continues (405), it means that many files have been invalidated in NAND flash memory since they have been updated since many files have been stored in NAND flash memory, and therefore a more stringent update threshold. Reduce the update threshold to have In the opposite case (406) increase the update threshold. After that, the current access prediction error and update prediction error value are stored so that they can be used for the next evaluation. The procedure is terminated after initializing to 0 respectively.

도 1 은 발명의 전반적인 동작 과정을 나타내는 순서도1 is a flow chart showing the overall operation of the invention

도 2 는 메인 메모리와 낸드 플래시 메모리를 웹 브라우저로 사용하고 있는 시스템의 개념도2 is a conceptual diagram of a system using a main memory and a NAND flash memory as a web browser.

도 3 은 선택적인 파일 저장을 판단하는 순서도3 is a flow chart for determining selective file storage

도 4 는 접근 임계치와 갱신 임계치의 변경을 보여주는 순서도4 is a flowchart showing a change in an access threshold and an update threshold.

Claims (9)

낸드 플래시 메모리를 보조 기억 장치로 사용하고 풀 브라우징을 지원하는 모바일 내장형 시스템 또는 컴퓨터 등과 같은 장치에서의 웹 브라우저 캐시에 선택적으로 파일 저장을 하는 방법How to selectively store files in the web browser cache on devices such as mobile embedded systems or computers that use NAND flash memory as secondary storage and support full browsing 상기 1항에서, 선택적인 파일 저장을 위해서 각 파일의 접근 및 갱신 기록을 메인 메모리에서 일정 기간 동안의 임시적인 저장을 통해서 알아내는 방법The method of claim 1, wherein the access and update records of each file are retrieved from the main memory through temporary storage for a predetermined period for selective file storage. 상기 1항에서, 선택적인 파일 저장을 위해서 각 파일의 파일 접근 및 갱신 기록들을 접근 임계치와 갱신 임계치를 함께 비교해서 파일 접근 수가 접근 임계치보다 크고 갱신 횟수는 갱신 임계치보다 적은 파일들만을 선택적으로 저장하는 방법The method according to claim 1, wherein the file access and update records of each file are compared together with the access threshold and the update threshold for selective file storage to selectively store only files whose number of file accesses is greater than the access threshold and the number of updates is less than the update threshold. Way 상기 3항에서, 접근 임계치와 갱신 임계치를 사용자의 사용 추이에 따라 동적으로 변경하는 방법The method of claim 3, wherein the access threshold and the update threshold are dynamically changed according to a user's usage trend. 상기 4항에서, 접근 임계치를 변경하기 위해서 낸드 플래시 메모리에서 한 번도 사용되지 않고 무효화 되는 파일의 수를 기록해 놓고, 증감 추이에 따라서 접근 임계치를 조절하는 방법The method of claim 4, wherein the number of files that are never used and invalidated in the NAND flash memory is recorded to change the access threshold, and the access threshold is adjusted according to the increase and decrease trend. 상기 4항에서, 갱신 임계치를 변경하기 위해서 낸드 플래시 메모리에서 갱신되어서 무효화 되는 파일의 수를 기록해 놓고, 증감 추이에 따라서 갱신 임계치를 조절하는 방법The method of claim 4, wherein the number of files updated and invalidated in the NAND flash memory is recorded in order to change the update threshold, and the update threshold is adjusted according to the increase and decrease trend. 상기 2항에서, 메인 메모리의 용량이 부족할 경우에 가장 접근된 지 오래된 파일을 삭제하는 방법The method of claim 2, wherein the oldest accessed file is deleted when the main memory is insufficient. 상기 4 항에서, 낸드 플래시 메모리의 용량이 부족할 경우에 가장 접근된 지 오래된 파일을 삭제하는 방법The method of claim 4, wherein the oldest accessed file is deleted when the NAND flash memory is insufficient. 상기 4항에서, 일정한 이벤트 수만큼의 간격을 두고 임계치를 변경하는 방법The method of claim 4, wherein the threshold value is changed at intervals of a predetermined number of events.
KR1020090004006A 2009-01-19 2009-01-19 A web browser cache management technique for mobile full browsing on nand-based devices KR20100084722A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090004006A KR20100084722A (en) 2009-01-19 2009-01-19 A web browser cache management technique for mobile full browsing on nand-based devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090004006A KR20100084722A (en) 2009-01-19 2009-01-19 A web browser cache management technique for mobile full browsing on nand-based devices

Publications (1)

Publication Number Publication Date
KR20100084722A true KR20100084722A (en) 2010-07-28

Family

ID=42643921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090004006A KR20100084722A (en) 2009-01-19 2009-01-19 A web browser cache management technique for mobile full browsing on nand-based devices

Country Status (1)

Country Link
KR (1) KR20100084722A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838771A (en) * 2012-11-26 2014-06-04 腾讯科技(深圳)有限公司 Browser page data processing method and device and browser

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838771A (en) * 2012-11-26 2014-06-04 腾讯科技(深圳)有限公司 Browser page data processing method and device and browser
CN103838771B (en) * 2012-11-26 2018-09-11 腾讯科技(深圳)有限公司 browser page data processing method, device and browser

Similar Documents

Publication Publication Date Title
CN110678836B (en) Persistent memory for key value storage
US8918581B2 (en) Enhancing the lifetime and performance of flash-based storage
US8285940B2 (en) Method and apparatus for high speed cache flushing in a non-volatile memory
US9772949B2 (en) Apparatus, system and method for providing a persistent level-two cache
KR101067018B1 (en) Method for performing garbage collection and flash memory apparatus using the method
US20170139825A1 (en) Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach
US20140115261A1 (en) Apparatus, system and method for managing a level-two cache of a storage appliance
JP2011530133A (en) Cache content storage management
Seo et al. Recently-evicted-first buffer replacement policy for flash storage devices
KR101297442B1 (en) Nand flash memory including demand-based flash translation layer considering spatial locality
US8392655B2 (en) Apparatus for reducing accesses to levels of a storage hierarchy in a computing system
Chiao et al. ROSE: A novel flash translation layer for NAND flash memory based on hybrid address translation
CN116069681A (en) Disk space recovery method and device, electronic equipment and storage medium
KR101026634B1 (en) A method of data storage for a hybrid flash memory
KR101284465B1 (en) Page mapping scheme that supports secure file deletion for nand-based block device, and thereof recording medium
KR100987251B1 (en) Flash memory management method and apparatus for merge operation reduction in a fast algorithm base ftl
KR20100084722A (en) A web browser cache management technique for mobile full browsing on nand-based devices
Lee et al. BAGC: Buffer-aware garbage collection for flash-based storage systems
Fareed et al. Update frequency-directed subpage management for mitigating garbage collection and dram overheads
KR101353967B1 (en) Data process method for reading/writing data in non-volatile memory cache having ring structure
Kim et al. Utilizing subpage programming to prolong the lifetime of embedded NAND flash-based storage
KR20100099888A (en) A method for log management in flash memory-based database systems
JP6430039B2 (en) Storage device and storage device control method
KR102416880B1 (en) Method for demand-based FTL cache partitioning of SSDs
KR101373613B1 (en) Hybrid storage device including non-volatile memory cache having ring structure

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application