WO2010093114A1 - 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법 및 장치 - Google Patents
고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법 및 장치 Download PDFInfo
- Publication number
- WO2010093114A1 WO2010093114A1 PCT/KR2009/007067 KR2009007067W WO2010093114A1 WO 2010093114 A1 WO2010093114 A1 WO 2010093114A1 KR 2009007067 W KR2009007067 W KR 2009007067W WO 2010093114 A1 WO2010093114 A1 WO 2010093114A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- page
- victim
- buffer cache
- state disk
- solid state
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
Definitions
- the present invention relates to a method and apparatus for programming a buffer cache in a solid state disk system, and more particularly, to a method and apparatus for reducing delay incurred when storing a page of the buffer cache in a memory composed of a plurality of memory chips in a solid state disk system. It is about.
- Storage devices for storing data may include magnetic disks and semiconductor memories. Since storage devices have different physical characteristics by type, a management method corresponding to the physical characteristics is required.
- Magnetic disks have been widely used as a conventional storage device. Magnetic disks, on average, feature read and write times of a few milliseconds per kilobyte. In addition, the magnetic disk has a characteristic that the read and write time is different because the time that the arm arrives varies depending on the physical location where the data is stored.
- non-volatile memory which consumes less power and consumes less power than the magnetic disk, is rapidly replacing magnetic disk. This is possible because of the large capacity of the nonvolatile memory.
- a nonvolatile memory is a semiconductor memory device capable of electrically reading, writing, and erasing and maintaining stored data even without a power supply. In addition to writing, the process of storing data for nonvolatile memory devices is also called programming.
- Flash memory is a representative example of non-volatile memory, which is smaller in size, smaller in power consumption, and faster in reading compared to a conventional hard disk drive (HDD). There is this. Recently, a solid state disk (SSD) has been proposed to replace an HDD by using a large flash memory.
- SSD solid state disk
- flash memory examples include NAND flash memory and NOR flash memory.
- the NAND method and the NOR method may be distinguished by a configuration and an operation method of a cell array.
- a flash chip When one flash memory is referred to as a flash chip, a multichip using a plurality of flash chips for a large capacity can be constructed. At this time, the plurality of flash chips share one data bus. Flash memory takes longer to write or erase than the transfer. Therefore, in the case of multichip, a pipelining technique is used. Pipelining can hide the write time of one chip by sequentially transmitting and writing the other flash chips while performing a write command to one flash chip.
- Pages, the basic read / write unit of current flash memory, are much larger than sectors, the basic unit of command issued by the host system. Therefore, when a small write command is sent from the host, the controller reads the original page from the corresponding flash chip via the buffer cache or flash translation layer and creates a page with the requested sector. After that, you have to do the extra work of rewriting the page on the flash chip. In this case, however, the controller must wait until the write operation finishes to read the original page if the flash chip storing the original page is being written.
- Embodiments of the present invention provide a method and apparatus for programming a buffer cache in a solid state disk system.
- Embodiments of the present invention provide a programming method and apparatus for reducing the delay incurred when storing pages of a buffer cache in a memory composed of a plurality of memory chips in a solid state disk system.
- Embodiments of the present invention provide a method and apparatus for preferentially storing pages that can be stored without waiting when storing pages of a buffer cache in a memory composed of a plurality of memory chips in a solid state disk system.
- An apparatus for programming a buffer cache of a solid state disk system includes a buffer cache unit for storing pages; A memory unit including a plurality of memory chips; And a controller for selecting at least one page from among the pages as a victim page in consideration of a waiting time that may occur when the memory chip is stored in at least one target memory chip of the plurality of memory chips.
- An apparatus for programming a buffer cache of a solid state disk system includes a buffer cache unit for storing a page; A memory unit including one or more memory chips; And a controller for selecting a new victim page until a victim page selected from among the pages of the buffer cache unit is to be waited for storing in a target memory chip of the memory unit.
- a buffer cache programming method of a solid state disk system includes selecting a victim page from a page of a buffer cache unit; And when the victim page needs to wait to store the target memory chip in the memory unit, selecting a new victim page until selecting the victim page that can be stored without waiting.
- An embodiment of the present invention includes a buffer cache unit for storing pages; A memory unit including a plurality of memory chips; And a controller for selecting at least one page as a victim page in consideration of a waiting time that may occur when storing the at least one target memory chip among the plurality of memory chips among the pages.
- a method and apparatus for programming that improves write performance by reducing the delay that can occur when storing pages in the buffer cache.
- FIG. 1 is a diagram illustrating a configuration of a solid state disk system for storing pages of a buffer cache without delay according to an embodiment of the present invention.
- FIG. 2 is a diagram illustrating a configuration of a memory unit in a solid state disk system according to an exemplary embodiment of the present invention.
- FIG. 3 is a diagram illustrating an example of storing a page of a buffer cache without delay in a solid state disk system according to an embodiment of the present invention compared with a conventional method.
- FIG. 4 is a flowchart illustrating a process of storing a page of a buffer cache without delay in a solid state disk system according to an embodiment of the present invention.
- Embodiments of the present invention relate to a programming method and an apparatus for reducing a delay caused when a page of a buffer cache is stored in a memory composed of a plurality of memory chips in a solid state disk system.
- a programming method and an apparatus for reducing a delay caused when a page of a buffer cache is stored in a memory composed of a plurality of memory chips in a solid state disk system We will look at the structure of a solid state disk system according to an example.
- FIG. 1 is a diagram illustrating a configuration of a solid state disk system for storing pages of a buffer cache without delay according to an embodiment of the present invention.
- a solid state disk (SSD) system 120 may include a buffer cache unit 122, a translation layer unit 124, a memory unit 126, and a controller 128. .
- the host 110 makes a sector-by-sector read request or write request to the solid state disk system 120.
- the buffer cache unit 122 stores data that is frequently used to reduce the time required for a read operation or a write operation.
- the buffer cache unit 122 may mainly operate as write only. This serves to hide the slow write performance of the memory unit 126. In other words, if the same request comes back in a short time, the buffer cache 122 may process the memory immediately, so the memory 126 does not need to be searched.
- the transformation layer unit 124 may construct a map between a physical sector and a logical sector based on the result of access to at least one idle bank. In other words, the translation layer unit 124 converts the requested logical address into a corresponding physical address, and converts the physical address into a logical address. In addition, since the basic read / write unit of the memory unit 126 is a page, the translation layer unit 124 converts the request in units of sectors into units of pages.
- the memory unit 126 includes a plurality of memory chips. The configuration of the memory unit 126 will be described with reference to FIG. 2 below.
- FIG. 2 is a diagram illustrating a configuration of a memory unit in a solid state disk system according to an exemplary embodiment of the present invention.
- the solid state disk system 120 does not constitute the memory unit 126 as a single memory chip, but as a plurality of memory chips 222, 224, and 226. In addition, several memory chips 222, 224, and 226 share a single data bus 210.
- the memory chips 222, 224, and 226 are solid state disks (SSDs), and may be NAND flash memory or NOR flash memory. Since the memory chips 222, 224, and 226 take relatively long time to write or erase commands than transfers, the memory chips 222, 224, and 226 use a pipelining technique.
- the memory unit 126 is not limited to FIG. 2 and may be configured of a plurality of channels having data buses for each channel.
- the plurality of memory chips are connected to any one of the plurality of channels, and the plurality of channels are independent of each other.
- the controller 128 may control the overall operation of the solid state disk system 120 and may control the conversion layer unit 124 according to an embodiment of the present invention. That is, the controller 128 may perform a function of the transformation layer unit 124. In the present invention, it is shown to configure them separately to explain each function separately. Therefore, when the product is actually implemented, the conversion layer unit 124 may be configured to be processed by the control unit 128.
- the controller 128 detects a storage event of the buffer cache unit 122, the controller 128 selects a target memory chip from idle memory chips that are available memory chips. At this time, the selection of the target memory chip selects the memory chip having the largest empty storage space among the idle memory chips of the memory unit 126 as the target memory chip. That is, the memory chip having the most free pages among the idle memory chips is selected as the target memory chip.
- the controller 128 divides sector-based data stored in the buffer cache 122 into page units, and selects a page that has not been used for the longest of the pages as a victim page to be stored in the target memory chip.
- the sacrificial page means a page to be stored in the memory chip.
- the controller 128 selects a new sacrificial page until a sacrificial page that can be stored without waiting is selected.
- the partial page refers to a case in which the data stored in the buffer cache 122 is a part of the page rather than the entire data.
- a victim page that can be stored without waiting may be a case where the victim page is the entire page.
- a victim page that can be stored without waiting is also possible when the victim page is a partial page and the memory chip in which the original page of the victim page is stored is idle.
- the entire page means a case where the data stored in the buffer cache unit 122 is the entire data constituting the page.
- the controller 128 If the victim page is a partial page and the memory chip in which the original page of the victim page is stored is idle, the controller 128 reads the original page from the memory unit 126 and combines the victim pages and stores them in the target memory chip.
- the controller 128 stores the victim page in the target memory chip.
- the controller 128 selects a new target memory chip from the memory unit 126 and makes a new sacrifice until the sacrificial page that can be stored without waiting is selected. Select a page.
- FIG. 3 is a diagram illustrating an example of storing a page of a buffer cache without delay in a solid state disk system according to an embodiment of the present invention compared with a conventional method.
- pages in the order shown in the drawing are stored in the memory unit 310 including four memory chips.
- a plurality of pages are stored in the buffer cache unit 320, and the order in which the left page is stored as an old page is the order from the left page to the right page.
- the shaded pages among the pages stored in the buffer cache unit 320 are all pages, and the non-shaded pages are partial pages.
- the solid state disk system transfers a sixth page, which is a whole page, to the first memory chip, and then writes the next seventh page to the second memory chip while the first memory chip is writing. And the next eight pages while the second memory chip is writing.
- the solid state disk system thus transfers from the sixth page to the ninth page to the corresponding idle page. That is, the sixth, seventh, eighth, and ninth pages, which are entire pages, are sequentially transmitted through the data bus.
- the solid state disk system checks the memory unit 310 before storing the second page which is the partial page. As a result of the check, it can be confirmed that the third chip in which the entire page of the second page is stored is in use. Thus, the solid state disk system waits for the chip waiting time 332 until the third chip is idle. The solid state disk system may then store the fifth page, which is the entire page, after reading the entire page of the second page, combining it with the partial page of the second page, and sending it to the first memory chip to store it.
- a fifth page which is a page requiring no waiting time, is first stored. If the third memory chip is in use after the fifth page is stored, and there is no page that can be stored without waiting, the solid state disk system may store the entire page of the second page stored after waiting. However, if the third memory chip is idle after storing the fifth page, the solid state disk system may combine the entire pages of the second page and the partial pages of the second page without storing the data in the idle memory chip without waiting.
- FIG. 4 is a flowchart illustrating a process of storing a page of a buffer cache without delay in a solid state disk system according to an embodiment of the present invention.
- the solid state disk system detects the occurrence of the buffer cache storage event in step 400, the solid state disk system selects a target memory chip from idle memory chips that are not selected. At this time, the selection of the target memory chip selects the memory chip having the largest empty storage space among the idle memory chips of the memory unit as the target memory chip. That is, the memory chip having the most free pages among the idle memory chips is selected as the target memory chip.
- step 404 select the page which has not been used for the longest time among the pages which have not been selected as the victim page to be stored in the target memory chip.
- the solid state disk system proceeds to step 406 to determine whether the victim page is a partial page. In operation 412, if the victim page is the entire page, the victim page stores the victim page in the target memory chip and proceeds to operation 416.
- step 406 the solid state disk system proceeds to step 408 to determine whether the memory chip storing the original page of the victim page is idle.
- step 410 If the memory chip storing the original page of the victim page is idle as a result of step 408, the solid state disk system proceeds to step 410, reads the original page, combines the victim pages, saves the victim page, and proceeds to step 416.
- step 416 the solid state disk system proceeds to step 416 to check whether the buffer cache storage event is terminated. If the check result is not finished, the process returns to step 402. However, when the storage event ends, the algorithm according to the embodiment of the present invention ends.
- the solid state disk system proceeds to step 414 to determine whether there is an unselected page to be stored in the selected Mokpo memory chip in the buffer cache. Check it.
- step 414 If there is a page not selected as a result of checking in step 414, the solid state disk system returns to step 404 to select a new victim page, and then performs a series of processes.
- step 414 if the check in step 414 does not have an unselected page, the solid state disk system returns to step 402 to select a new target memory chip, and then performs a series of processes.
- embodiments of the present invention include computer-readable media containing program instructions for performing various computer-implemented operations.
- the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
- the medium or program instructions may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well known and available to those having skill in the computer software arts.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
- Examples of program instructions include machine code, such as produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims (24)
- 페이지들을 저장하는 버퍼 캐시부;복수의 메모리 칩을 포함하는 메모리부; 및상기 복수의 메모리 칩들 중 적어도 하나의 목표 메모리 칩에 저장할 때 발생 가능한 대기시간을 고려하여 상기 페이지들 중에서 적어도 하나의 페이지를 희생 페이지로 선택하는 제어부를 포함하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제1항에 있어서,상기 제어부는,상기 희생 페이지를 선택할 때, 상기 페이지들의 사용빈도 또는 가장 최근 사용시간을 고려하여 선택하는,고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제1항에 있어서,상기 제어부는,상기 페이지 중에서 희생 페이지로 선택되지 않았던 가장 오래 동안 사용되지 않고 상기 목표 메모리 칩에 저장할 때 대기 없이 저장 가능한 페이지를 상기 희생 페이지로 선택하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제3항에 있어서,상기 희생 페이지가 대기해야 하는 경우는,상기 희생 페이지가 부분 페이지이고 상기 희생 페이지의 원본 페이지가 저장된 메모리 칩이 유휴하지 않은 경우인,고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제3항에 있어서,상기 대기 없이 저장할 수 있는 희생 페이지는,상기 희생 페이지가 전체 페이지인 경우 이거나, 상기 희생 페이지가 부분 페이지이고 상기 희생 페이지의 원본 페이지가 저장된 메모리 칩이 유휴한 경우인,고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제1항에 있어서,상기 제어부는,상기 희생 페이지가 부분 페이지이고 상기 희생 페이지의 원본 페이지가 저장된 메모리 칩이 유휴하면, 상기 원본 페이지를 읽고 상기 희생 페이지를 합쳐서 상기 목표 메모리 칩에 저장하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제1항에 있어서,상기 제어부는,상기 희생 페이지가 전체 페이지이면, 상기 희생 페이지를 상기 목표 메모리 칩에 저장하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제1항에 있어서,상기 제어부는,상기 희생 페이지를 선택하기에 앞서 상기 메모리부의 유휴 메모리 칩 중에서 비어있는 저장 가능한 공간이 가장 큰 메모리 칩을 상기 목표 메모리 칩으로 선택하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제1항에 있어서,상기 제어부는,상기 새로운 희생 페이지의 선택결과 상기 대기 없이 저장할 수 있는 희생 페이지가 존재하지 않으면, 상기 메모리부에서 새로운 목표 메모리 칩을 선택하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 페이지를 저장하는 버퍼 캐시부;하나 이상의 메모리 칩을 포함하는 메모리부; 및상기 버퍼 캐시부의 상기 페이지 중에서 선택한 희생 페이지가 메모리부의 목표 메모리 칩에 저장하기 위해 대기해야 하는 경우, 대기 없이 저장할 수 있는 희생 페이지를 선택할 때까지 새로운 희생 페이지를 선택하는 제어부를 포함하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제10항에 있어서,상기 제어부는,상기 버퍼 캐시부의 상기 페이지 중에서 저장 대상으로 선택 받지 않고, 가장 오래 동안 사용되지 않은 페이지를 상기 희생 페이지 또는 상기 새로운 희생 페이지로 선택하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제10항에 있어서,상기 제어부에서 상기 희생 페이지가 대기해야 하는 경우는,상기 희생 페이지가 부분 페이지이고 상기 희생 페이지의 원본 페이지가 저장된 메모리 칩이 유휴하지 않은 경우인,고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제10항에 있어서,상기 대기 없이 저장할 수 있는 희생 페이지는,상기 희생 페이지가 전체 페이지인 경우 이거나, 상기 희생 페이지가 부분 페이지이고 상기 희생 페이지의 원본 페이지가 저장된 메모리 칩이 유휴한 경우인,고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제10항에 있어서,상기 제어부는,상기 희생 페이지가 부분 페이지이고 상기 희생 페이지의 원본 페이지가 저장된 메모리 칩이 유휴하면, 상기 원본 페이지를 읽고 상기 희생 페이지를 합쳐서 상기 목표 메모리 칩에 저장하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제10항에 있어서,상기 제어부는,상기 희생 페이지가 전체 페이지이면, 상기 희생 페이지를 상기 목표 메모리 칩에 저장하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 제10항에 있어서,상기 제어부는,상기 희생 페이지를 선택하기에 앞서 상기 메모리부의 유휴 메모리 칩 중에서 비어있는 저장 가능한 공간이 가장 큰 메모리 칩을 상기 목표 메모리 칩으로 선택하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 장치.
- 버퍼 캐시부의 페이지 중에서 희생 페이지를 선택하는 단계; 및상기 희생 페이지가 메모리부의 목표 메모리 칩에 저장하기 위해 대기해야 하는 경우, 대기 없이 저장할 수 있는 희생 페이지를 선택할 때까지 새로운 희생 페이지를 선택하는 단계를 포함하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 방법.
- 제17항에 있어서,상기 희생 페이지 또는 상기 새로운 희생 페이지의 선택은,상기 버퍼 캐시부의 상기 페이지 중에서 저장 대상으로 선택 받지 않고, 가장 오래 동안 사용되지 않은 페이지를 상기 희생 페이지 또는 상기 새로운 희생 페이지로 선택하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 방법.
- 제17항에 있어서,상기 희생 페이지가 대기해야 하는 경우는,상기 희생 페이지가 부분 페이지이고 상기 희생 페이지의 원본 페이지가 저장된 메모리 칩이 유휴하지 않은 경우인,고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 방법.
- 제17항에 있어서,상기 대기 없이 저장할 수 있는 희생 페이지는,상기 희생 페이지가 전체 페이지인 경우 이거나, 상기 희생 페이지가 부분 페이지이고 상기 희생 페이지의 원본 페이지가 저장된 메모리 칩이 유휴한 경우인,고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 방법.
- 제17항에 있어서,상기 대기 없이 저장할 수 있는 상기 희생 페이지가 선택된 경우,상기 희생 페이지가 부분 페이지이고 상기 희생 페이지의 원본 페이지가 저장된 메모리 칩이 유휴하면, 상기 원본 페이지를 읽고 상기 희생 페이지를 합쳐서 상기 목표 메모리 칩에 저장하는 단계를 더 포함하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 방법.
- 제17항에 있어서,상기 대기 없이 저장할 수 있는 상기 희생 페이지가 선택된 경우,상기 희생 페이지가 전체 페이지이면, 상기 희생 페이지를 상기 목표 메모리 칩에 저장하는 단계를 더 포함하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 방법.
- 제17항에 있어서,상기 버퍼 캐시부의 페이지 중에서 상기 희생 페이지를 선택하는 단계 이전에,하나 이상의 메모리 칩을 가지는 상기 메모리부의 유휴 메모리 칩 중에서 비어있는 저장 가능한 공간이 가장 큰 메모리 칩을 상기 목표 메모리 칩으로 선택하는고체 상태 디스크 시스템의 버퍼 캐시 프로그래밍 방법.
- 제17항 내지 제23항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09840104A EP2397945A4 (en) | 2009-02-11 | 2009-11-30 | PROGRAMMING METHOD AND DEVICE FOR A BUFFER CACHE IN A SOLID BODY SYSTEM |
US13/148,115 US8874826B2 (en) | 2009-02-11 | 2009-11-30 | Programming method and device for a buffer cache in a solid-state disk system |
JP2011550047A JP2012517645A (ja) | 2009-02-11 | 2009-11-30 | 半導体ディスクシステムのバッファキャッシュプログラミング方法およびバッファキャッシュプログラミング装置 |
CN2009801566235A CN102317924A (zh) | 2009-02-11 | 2009-11-30 | 固态硬盘系统中缓冲器高缓的编程方法和装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2009-0011138 | 2009-02-11 | ||
KR1020090011138A KR101056560B1 (ko) | 2009-02-11 | 2009-02-11 | 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010093114A1 true WO2010093114A1 (ko) | 2010-08-19 |
Family
ID=42561936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2009/007067 WO2010093114A1 (ko) | 2009-02-11 | 2009-11-30 | 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8874826B2 (ko) |
EP (1) | EP2397945A4 (ko) |
JP (1) | JP2012517645A (ko) |
KR (1) | KR101056560B1 (ko) |
CN (1) | CN102317924A (ko) |
WO (1) | WO2010093114A1 (ko) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101278591B1 (ko) * | 2011-05-30 | 2013-06-25 | 성균관대학교산학협력단 | 플래시 메모리 시스템 및 그 동작 방법 |
US9645917B2 (en) * | 2012-05-22 | 2017-05-09 | Netapp, Inc. | Specializing I/O access patterns for flash storage |
US9734050B2 (en) * | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for managing background operations in a multi-layer memory |
US9336133B2 (en) | 2012-12-31 | 2016-05-10 | Sandisk Technologies Inc. | Method and system for managing program cycles including maintenance programming operations in a multi-layer memory |
US9348746B2 (en) | 2012-12-31 | 2016-05-24 | Sandisk Technologies | Method and system for managing block reclaim operations in a multi-layer memory |
US9734911B2 (en) | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for asynchronous die operations in a non-volatile memory |
US9223693B2 (en) | 2012-12-31 | 2015-12-29 | Sandisk Technologies Inc. | Memory system having an unequal number of memory die on different control channels |
US9465731B2 (en) | 2012-12-31 | 2016-10-11 | Sandisk Technologies Llc | Multi-layer non-volatile memory system having multiple partitions in a layer |
US11249652B1 (en) | 2013-01-28 | 2022-02-15 | Radian Memory Systems, Inc. | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller |
US9652376B2 (en) * | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US10445229B1 (en) | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US9785545B2 (en) * | 2013-07-15 | 2017-10-10 | Cnex Labs, Inc. | Method and apparatus for providing dual memory access to non-volatile memory |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
CN105843746A (zh) * | 2015-01-12 | 2016-08-10 | 广明光电股份有限公司 | 固态硬盘的写入方法 |
CN105630705B (zh) * | 2015-06-10 | 2019-09-17 | 上海磁宇信息科技有限公司 | 数据存储装置及使用块替换表的读写方法 |
US10042553B2 (en) | 2015-10-30 | 2018-08-07 | Sandisk Technologies Llc | Method and system for programming a multi-layer non-volatile memory having a single fold data path |
US10120613B2 (en) | 2015-10-30 | 2018-11-06 | Sandisk Technologies Llc | System and method for rescheduling host and maintenance operations in a non-volatile memory |
US9778855B2 (en) | 2015-10-30 | 2017-10-03 | Sandisk Technologies Llc | System and method for precision interleaving of data writes in a non-volatile memory |
US10133490B2 (en) | 2015-10-30 | 2018-11-20 | Sandisk Technologies Llc | System and method for managing extended maintenance scheduling in a non-volatile memory |
US9880778B2 (en) | 2015-11-09 | 2018-01-30 | Google Inc. | Memory devices and methods |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050235119A1 (en) * | 2002-10-04 | 2005-10-20 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
US20060271755A1 (en) * | 2005-05-20 | 2006-11-30 | Seiji Miura | Memory module, cache system and address conversion method |
US20070091679A1 (en) * | 2005-10-20 | 2007-04-26 | Sony Corporation | Storage device, computer system, and data writing method |
JP2008108281A (ja) * | 2008-01-10 | 2008-05-08 | Renesas Technology Corp | 半導体ディスク装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3328321B2 (ja) * | 1992-06-22 | 2002-09-24 | 株式会社日立製作所 | 半導体記憶装置 |
GB2345987B (en) * | 1999-01-19 | 2003-08-06 | Advanced Risc Mach Ltd | Memory control within data processing systems |
US7966462B2 (en) * | 1999-08-04 | 2011-06-21 | Super Talent Electronics, Inc. | Multi-channel flash module with plane-interleaved sequential ECC writes and background recycling to restricted-write flash chips |
US7660941B2 (en) * | 2003-09-10 | 2010-02-09 | Super Talent Electronics, Inc. | Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories |
US7934074B2 (en) * | 1999-08-04 | 2011-04-26 | Super Talent Electronics | Flash module with plane-interleaved sequential writes to restricted-write flash chips |
US8108590B2 (en) * | 2000-01-06 | 2012-01-31 | Super Talent Electronics, Inc. | Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear |
US8112574B2 (en) * | 2004-02-26 | 2012-02-07 | Super Talent Electronics, Inc. | Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes |
JP4625675B2 (ja) * | 2004-10-20 | 2011-02-02 | 株式会社日立製作所 | ストレージ装置のリソース割り当て方法及びストレージ装置 |
JP4961693B2 (ja) * | 2005-07-29 | 2012-06-27 | ソニー株式会社 | コンピュータシステム |
JP5162846B2 (ja) * | 2005-07-29 | 2013-03-13 | ソニー株式会社 | 記憶装置、コンピュータシステム、および記憶システム |
JP5076411B2 (ja) * | 2005-11-30 | 2012-11-21 | ソニー株式会社 | 記憶装置、コンピュータシステム |
JP4675881B2 (ja) * | 2006-12-27 | 2011-04-27 | 株式会社東芝 | 磁気ディスク装置およびその制御方法 |
JP2008163474A (ja) * | 2006-12-27 | 2008-07-17 | Toray Ind Inc | 繊維構造物 |
KR20100021868A (ko) * | 2008-08-18 | 2010-02-26 | 삼성전자주식회사 | 플래시 메모리 장치를 위한 버퍼 캐쉬 관리 방법 |
US8375178B2 (en) * | 2008-11-12 | 2013-02-12 | Oracle International Corporation | Memory page eviction based on present system operation |
-
2009
- 2009-02-11 KR KR1020090011138A patent/KR101056560B1/ko not_active IP Right Cessation
- 2009-11-30 US US13/148,115 patent/US8874826B2/en active Active
- 2009-11-30 CN CN2009801566235A patent/CN102317924A/zh active Pending
- 2009-11-30 WO PCT/KR2009/007067 patent/WO2010093114A1/ko active Application Filing
- 2009-11-30 JP JP2011550047A patent/JP2012517645A/ja active Pending
- 2009-11-30 EP EP09840104A patent/EP2397945A4/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050235119A1 (en) * | 2002-10-04 | 2005-10-20 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
US20060271755A1 (en) * | 2005-05-20 | 2006-11-30 | Seiji Miura | Memory module, cache system and address conversion method |
US20070091679A1 (en) * | 2005-10-20 | 2007-04-26 | Sony Corporation | Storage device, computer system, and data writing method |
JP2008108281A (ja) * | 2008-01-10 | 2008-05-08 | Renesas Technology Corp | 半導体ディスク装置 |
Also Published As
Publication number | Publication date |
---|---|
US8874826B2 (en) | 2014-10-28 |
CN102317924A (zh) | 2012-01-11 |
JP2012517645A (ja) | 2012-08-02 |
KR101056560B1 (ko) | 2011-08-11 |
US20110296089A1 (en) | 2011-12-01 |
KR20100091782A (ko) | 2010-08-19 |
EP2397945A1 (en) | 2011-12-21 |
EP2397945A4 (en) | 2012-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2010093114A1 (ko) | 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법 및 장치 | |
US11868618B2 (en) | Data reading and writing processing from and to a semiconductor memory and a memory of a host device by using first and second interface circuits | |
CN113377283B (zh) | 具有分区命名空间的存储器系统及其操作方法 | |
KR101573591B1 (ko) | 메모리 시스템 제어기를 구비하는 장치 및 관련 방법 | |
US9058254B2 (en) | Memory device | |
KR101532863B1 (ko) | 메모리 시스템 제어기를 구비하는 장치 및 관련 방법 | |
US8144515B2 (en) | Interleaved flash storage system and method | |
US5524230A (en) | External information storage system with a semiconductor memory | |
US8321639B2 (en) | Command tracking for direct access block storage devices | |
US8924627B2 (en) | Flash memory device comprising host interface for processing a multi-command descriptor block in order to exploit concurrency | |
KR101560469B1 (ko) | 메모리 시스템 컨트롤러들을 포함하는 장치 및 관련 방법들 | |
US20140359192A1 (en) | Apparatus including buffer allocation management and related methods | |
US20130212319A1 (en) | Memory system and method of controlling memory system | |
US20050172068A1 (en) | Memory card and semiconductor device | |
US20110185225A1 (en) | Memory system with nonvolatile semiconductor memory | |
KR20120098850A (ko) | 메모리 디바이스 및 호스트 장치 | |
US20110238933A1 (en) | Memory device and controlling method of the same | |
WO2010107173A1 (ko) | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 | |
US8180951B2 (en) | Memory system and method of controlling the memory system | |
US20240311039A1 (en) | Memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200980156623.5 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09840104 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13148115 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011550047 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2009840104 Country of ref document: EP |