CN106201331A - 用于写入数据的方法及设备与储存媒体 - Google Patents
用于写入数据的方法及设备与储存媒体 Download PDFInfo
- Publication number
- CN106201331A CN106201331A CN201510356929.2A CN201510356929A CN106201331A CN 106201331 A CN106201331 A CN 106201331A CN 201510356929 A CN201510356929 A CN 201510356929A CN 106201331 A CN106201331 A CN 106201331A
- Authority
- CN
- China
- Prior art keywords
- storage device
- data
- unit
- temporary storage
- size
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 164
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000013479 data entry Methods 0.000 claims abstract description 32
- 238000013507 mapping Methods 0.000 claims description 13
- 230000014759 maintenance of location Effects 0.000 claims 2
- 230000002085 persistent effect Effects 0.000 abstract description 19
- 230000015654 memory Effects 0.000 description 12
- 238000013506 data mapping Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013519 translation Methods 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/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]
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer Security & Cryptography (AREA)
Abstract
本发明公开了一种用于写入数据的方法及设备与储存媒体,该写入数据的方法,用于写入数据至一永久(persistent)储存装置之中,该方法包括:将储存在暂时储存装置的多个数据条目(data entry)组合成一个数据单位,该数据单位的大小等于该永久储存装置的存取单位;以及写入该数据单位至该永久储存装置。
Description
技术领域
本发明是有关于数据写入,且特别是有关于一种用于写入数据至数据储存装置的方法及设备与储存媒体。
背景技术
对于多种永久(persistent)储存装置如NAND闪存或相变化存储器(phase-change memories,PCM),数据写入或读取是以存取单位而被执行。也就是说,不同于随机存取存储器中数据可以逐位(bit-by-bit)地被写入,永久储存装置有最小尺寸的存取单位。存取单位例如是:NAND页(page),大小例如是2kB、4kB或8kB;主存储器页,大小例如是4kB;或储存区块,大小例如是512B。在此种永久储存装置中,写入操作需以整个存取单位(如页或区块)同时被执行,故而小于存取单位的一小笔数据不能单独地被写入至永久储存装置。
在许多应用中,永久储存装置是伴随着暂时储存装置而被使用,暂时储存装置也可称为快速装置,如静态随机存取存储器(static random-accessmemory,SRAM)。储存于永久储存装置的数据可被读至暂时储存装置,然而在暂时储存装置中被处理。在处理过程中,读入暂时储存装置的一部分数据可被修改,而此修改的部分可接着需要被写回至永久储存装置中,以更新储存在永久储存装置的数据。此一现象中,读取-修改-写入过程需被执行,如后详述。
如图1A所示,数据序列102是储存在永久储存装置中。数据序列102包含多个数据片段,各片段的大小等于永久储存装置的存取单位的大小。举例来说,数据片段的一个(例如图1A的数据片段104)包含三个数据条目104-1、104-2及104-3。再者,数据片段104被读入暂时储存装置,且在暂时储存装置之中的处理过程,数据条目104-2是被修改,修改后的数据条目(也称为”脏(dirty)数据条目”被标示为图1A的104-2’)。修改后的数据条目104-2’现在需被写回至永久储存装置以更新储存其中的数据条目104-2。如图1B所示,数据条目104-1及104-3是从永久储存装置读至暂时储存装置。包含数据条目104-1、104-2’、及104-3的整个数据片段104’是接着读回永久储存装置,如图1C所示。
因而,在上述的读取-修改-写入过程,当一笔数据需被写回永久储存装置时,额外的读取步骤是被执行。因此,整个系统的效能是降低的。
发明内容
依据本发明,提出一种方法,用于写入数据至一永久(persistent)储存装置之中。该方法包括:将储存在暂时储存装置的多个数据条目(data entry)组合成一个数据单位,以及写入数据单位至永久储存装置。数据单位的大小等于永久储存装置的存取单位。
另依据本发明,提出一种设备,包括:永久储存装置,配置以储存数据;暂时储存装置,配置以暂时储存数据;处理器;以及非瞬时计算机可读取储存媒体,储存多个指令。此些指令在被处理器执行时使得处理器将储存在暂时储存装置的多个数据条目组合成一个数据单位,并写入数据单位至永久储存装置。数据单位的大小等于永久储存装置的存取单位。
另依据本发明,提出一种非瞬时计算机可读取储存媒体,储存多个指令,此些指令在被处理器执行时使得处理器将储存在暂时储存装置的多个数据条目组合成一个数据单位,并写入数据单位至永久储存装置。数据单位的大小等于永久储存装置的存取单位。
依照本发明的特征与优点将部分地被阐述在下面的说明书中,并且部分从说明书来看是显而易见的,或可以通过本发明的实践而得知。这些特征和优点可通过所附权利要求范围特别指明的元件与结合的方式而被实现与取得。
应当理解的是,前述的广义描述和以下的详细描述都只是示例和说明性的,并不限制如所请求保护的本发明。
包含在说明书中并构成本说明书的一部分的所附图式,阐示出了本发明的几个实施例,并且与本说明书一起用于解释本发明的原理。
为了对本发明的上述及其他方面有更佳的了解,下文特举较佳实施例,并配合所附图式,作详细说明如下:
附图说明
图1A-图1C绘示依照传统技术的数据写入方法的示意图。
图2绘示依照一实施范例的设备的示意图。
图3绘示依照一实施范例的数据写入方法的示意图。
【符号说明】
102:数据序列
104、104’:数据片段
104-1、104-2、104-2’、104-3:数据条目
200:设备
202:永久储存装置
204:暂时储存装置
206:处理器
208:非瞬时计算机可读取储存媒体
302:连续储存空间
304:存取单位
306:储存单位
308-1、308-2、308-3:数据条目
310:数据单位
具体实施方式
依据本发明的实施例包含用于写入数据的方法、设备、与储存媒体。
以下,将参照图式说明依照本发明的实施例。若可能,相同的参考数字会在图式中用以参照至相同或相似的部件。
图2绘示依照本发明实施例的设备200。此设备200包含永久储存装置202,用以储存数据。永久储存装置202可以是非易失性存储器装置,例如是闪存(如NAND闪存)、主存储器、或相变化存储器(phase-changememory,PCM)。永久储存装置202具有最小单位以用于读取或写入,此单位也称为此处的存取单位。依据永久储存装置的型式,存取单位的大小可例如为512B、2kB、4kB或8kB。
设备200也包含暂时储存装置204,被配置以暂时地储存数据。暂时储存装置204可以是易失性存储器装置,例如是静态随机存取存储器(staticrandom-access memory,SRAM)、转译后备缓冲区(translation lookasidebuffer,TLB)或快取(cache)。
设备200更包含处理器206与非瞬时计算机可读取储存媒体208。处理器206被配置以控制设备200的操作,例如是数据写入至永久储存装置202或暂时储存装置204、或从永久储存装置202或暂时储存装置204读取数据。储存媒体208可为不同、独立的储存媒体。替代性地,储存媒体208可为永久储存装置202的一部分或暂时储存装置204的一部分。储存媒体208储存指令,此些指令在被处理器206执行时使得处理器执行依据本发明实施例的方法。
依据本发明实施例的方法是参照图3而被叙述。如图3所示,永久储存装置202具有连续储存空间302,连续储存空间302包含多个存取单位304。各个存取单位304包含多个储存单元(cell),此些储存单元连续排列成胞数组。依据永久储存装置202的形式,存取单位304可为不同大小的页或区块。
对应地,暂时储存装置204具有多个储存单位306。储存单位306可包含从永久储存装置202读取的数据及储存在暂时储存装置204的数据。在此设备200的操作期间,一部分的此数据可被修改。
依据本发明实施例,各个储存单位306的大小等于存取单位304的大小,因而暂时储存装置204的一个储存单位306可一次以一整个单位被写入至永久储存装置202。然而,要注意的是,储存单位306可代表在暂时储存装置204与永久储存装置202之间传送数据时,所能管理的储存在暂时储存装置204的一单位的一笔数据。这并不表示写入数据至暂时储存装置204及从暂时储存装置204读取数据必须以逐一储存单位而被执行。
如图3所示,各储存单位306包含可在暂时储存装置204中被逐个地(individually)管理的多个数据条目。为了说明,图3所示的储存单位306的各者具有三个数据条目。然而,依据本发明,一个储存单位306可包含更多或更少的数据条目。在设备200的操作期间,一些或所有的数据条目可被修改,而修改后的数据条目需接着被写回至永久储存装置202。依据本发明实施例,从至少两个不同储存单位306的修改后的数据条目(也称为是”脏条目”)是被收集并组合成一个数据单位,此数据单位的大小等于存取单位的大小,且此数据单位是一次以一整个单位被写入永久储存装置202。
举例来说,图3的储存单位306的各者具有已被修改且需被写回至永久储存装置202的数据条目308-1、308-2、及308-3。依据本发明实施例,数据条目308-1、308-2、及308-3是被收集并组合成一个数据单位310,此数据单位310的大小等于永久储存装置202的存取单位的大小。之后,数据单位310是一次以一整个单位被写回至永久储存装置202之中。依据本发明,数据单位310是被写入永久储存装置202的连续储存位置中。
依据本发明的方法可被使用于写入任何种类的数据,此数据以一单位被管理、处理或修改,此单位的大小小于永久储存装置(如设备200的永久储存装置202)的存取单位的大小。举例来说,在计算机科技领域,许多不同种类的中介数据(metadata)被使用,例如是数据映像信息。此数据映像信息包含储存在数据储存装置(例如是永久储存装置202)的数据的地址,且可被集体地(collectively)记录在数据映像表。此数据映像信息通常可以一单位(也可称为颗粒(granule))被处理或修改,此单位小于永久储存装置202的存取单位的大小。
此数据映像表可储存在永久储存装置202。在设备200的操作期间,一部分的数据映像表或整个数据映像表是从永久储存装置202读至暂时储存装置204。做为一个映像架构的例子,多阶映像在现代计算机技艺中是普遍的机制。多阶映射表包含复数阶,各阶具有一个或多个映像元件。在最低阶(也可称为“底阶”)以外的一阶的映像元件表示在低一阶的另一阶的数据位置的地址,而最低阶的映像元件指向至储存在永久储存装置202的真实数据(非中介数据)的位置。
在设备200的操作期间,除了最低阶外的此些阶的所有映像元件、与最低阶的至少一部分的映像元件可被储存在暂时储存装置204中,且可被修改。修改后的映像元件接着需被写回永久储存装置202,以更新永久储存装置202中所储存的数据映像信息。由于大小限制,映像元件的写入至永久储存装置202需以一单位被执行,此单位的大小等于存取单位的大小。因此,储存在暂时储存装置204的映像信息也可以一单位(也称为“映像单位”)而被管理,此单位的大小等于永久储存装置202的存取单位的大小。然而,由于映像元件的大小通常小于永久储存装置202的存取单位的大小,映像单位通常包含多个映像元件。在设备20的操作期间,映像信息可以一单位而被修改,此单位小于映像单位。此较小的单位也可被称为映射条目。各个映射条目可包含一个或多个映像元件,但各个映像条目的大小小于映像单位。一个映像单位例如可包含三个映像条目。也就是说,在设备200的操作期间,对于一个映像单位,有时只有一些映像元件被修改且需被写回至永久储存装置202。将修改后的映像元件写回永久储存装置202可使用如上所述的方法而被执行。
也就是说,包含修改后的映像元件的映像条目(如最低阶的映射条目)是从映像单位被收集并组合成一个数据单位,此数据单位的大小等于永久储存装置202的存取单位的大小。待被组合为一个数据单位的映像条目的数量取决于多少映射条目是被包含在一个映像单位中。举例来说,若一个映像单位包含三个映像条目,则三个映射条目(从至少两个不同的映像单位)是被组合为一个数据单位。此数据单位接着一次以一整个单位被写入永久储存装置202,例如是永久储存装置202的连续储存位置中。
在上述有关管理映像讯号的范例,参照图3所述的实施例中,映像单位与映像条目分别对应至储存单位及数据条目。若永久储存装置202为主存储器(且对应地暂时储存装置204为TLB),数据映像表例如可包含一页表,或者,若永久储存装置202为闪存(且对应地暂时储存装置204为控制器的SRAM),数据映像表例如可包含一映像页。
综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视随附的权利要求范围所界定的为准。
Claims (9)
1.一种用于写入数据的方法,用于写入数据至一永久储存装置之中,该方法包括:
将储存在一暂时储存装置的多个数据条目(data entry)组合成一个数据单位,该数据单位的大小等于该永久储存装置的存取单位;以及
写入该数据单位至该永久储存装置。
2.根据权利要求1所述的方法,其中将这些数据条目组合包含从该暂时储存装置中的至少二储存单位收集这些数据条目,该至少二储存单位的各储存单位的大小等于该存取单位,
其中,从该至少二储存单位收集这些数据条目包含从至少二映像单位收集多个映像条目,该至少二映像单位的各映像单位的大小等于该存取单位,
其中,从该至少二映像单位收集这些映像条目包含从一映射表的一底阶中的至少二映像单位收集多个映像条目。
3.根据权利要求1所述的方法,其中将这些数据条目组合包含收集在该暂时储存装置中已被修改的多个数据条目,且在收集已被修改的数据条目之前,更包括:
从该永久储存装置读取数据至该暂时储存装置;及
修改储存在该暂时储存装置中的一部分数据。
4.一种用于写入数据的设备,包括:
一永久储存装置,配置以储存数据;
一暂时储存装置,配置以暂时储存数据;
将储存在该暂时储存装置的多个数据条目组合成一个数据单位,该数据单位的大小等于该永久储存装置的存取单位;及
写入该数据单位至该永久储存装置。
5.根据权利要求4所述的设备,其中该储存媒体更储存多个指令使得该处理器:
从该暂时储存装置中的至少二储存单位收集这些数据条目,该至少二储存单位的各储存单位的大小等于该存取单位;
从至少二映像单位收集多个映像条目,该至少二映像单位的各映像单位的大小等于该存取单位;以及
从一映射表的一底阶中的至少二映像单位收集多个映像条目。
6.根据权利要求4所述的设备,其中该储存媒体更储存多个指令使得该处理器:
收集在该暂时储存装置中已被修改的多个数据条目,且在收集已被修改的数据条目之前,使得该处理器:
从该永久储存装置读取数据至该暂时储存装置;及
修改储存在该暂时储存装置中的一部分数据。
7.一种非瞬时计算机可读取储存媒体,储存多个指令,这些指令在被一处理器执行时使得该处理器:
将储存在一暂时储存装置的多个数据条目组合成一个数据单位,该数据单位的大小等于该永久储存装置的存取单位;以及
写入该数据单位至该永久储存装置。
8.根据权利要求7所述的储存媒体,更储存指令使得该处理器:
从该暂时储存装置中的至少二储存单位收集这些数据条目,该至少二储存单位的各储存单位的大小等于该存取单位;
从至少二映像单位收集多个映像条目,该至少二映像单位的各映像单位的大小等于该存取单位;以及
从一映射表的一底阶的至少二映像单位中收集多个映像条目。
9.根据权利要求7所述的储存媒体,更储存指令使得该处理器:
收集在该暂时储存装置中已被修改的多个数据条目,且在收集已被修改的数据条目之前,使得该处理器:
从该永久储存装置读取数据至该暂时储存装置;及
修改储存在该暂时储存装置中的一部分数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/703,941 US10007446B2 (en) | 2015-05-05 | 2015-05-05 | Method, apparatus, and storage medium for writing data into persistent storage device |
US14/703,941 | 2015-05-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106201331A true CN106201331A (zh) | 2016-12-07 |
CN106201331B CN106201331B (zh) | 2020-03-17 |
Family
ID=57222657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510356929.2A Active CN106201331B (zh) | 2015-05-05 | 2015-06-25 | 用于写入数据的方法及设备与储存媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10007446B2 (zh) |
CN (1) | CN106201331B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536391A (zh) * | 2017-03-06 | 2018-09-14 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102421149B1 (ko) * | 2018-01-02 | 2022-07-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20200104601A (ko) | 2019-02-27 | 2020-09-04 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
US12118241B2 (en) | 2017-10-27 | 2024-10-15 | SK Hynix Inc. | Memory controller, memory system, and operating method thereof |
KR102456173B1 (ko) | 2017-10-27 | 2022-10-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
JP6995723B2 (ja) * | 2018-09-19 | 2022-01-17 | キオクシア株式会社 | メモリシステム、ストレージシステム、および制御方法 |
KR102456176B1 (ko) | 2020-05-21 | 2022-10-19 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11755476B2 (en) | 2020-04-13 | 2023-09-12 | SK Hynix Inc. | Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device |
KR102406449B1 (ko) | 2020-06-25 | 2022-06-08 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR102495910B1 (ko) | 2020-04-13 | 2023-02-06 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR102435253B1 (ko) | 2020-06-30 | 2022-08-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5353430A (en) * | 1991-03-05 | 1994-10-04 | Zitel Corporation | Method of operating a cache system including determining an elapsed time or amount of data written to cache prior to writing to main storage |
US20040193782A1 (en) * | 2003-03-26 | 2004-09-30 | David Bordui | Nonvolatile intelligent flash cache memory |
CN1197014C (zh) * | 2002-03-20 | 2005-04-13 | 株式会社东芝 | 内部存储器型抗篡改处理器及保密方法 |
US20070204128A1 (en) * | 2003-09-10 | 2007-08-30 | Super Talent Electronics Inc. | Two-Level RAM Lookup Table for Block and Page Allocation and Wear-Leveling in Limited-Write Flash-Memories |
US20080091875A1 (en) * | 2006-10-12 | 2008-04-17 | International Business Machines Corporation | Method to increase performance of non-contiguously written sectors |
US20130042056A1 (en) * | 2011-08-12 | 2013-02-14 | Serge Shats | Cache Management Including Solid State Device Virtualization |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201111986A (en) | 2009-09-29 | 2011-04-01 | Silicon Motion Inc | Memory apparatus and data access method for memories |
-
2015
- 2015-05-05 US US14/703,941 patent/US10007446B2/en active Active
- 2015-06-25 CN CN201510356929.2A patent/CN106201331B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5353430A (en) * | 1991-03-05 | 1994-10-04 | Zitel Corporation | Method of operating a cache system including determining an elapsed time or amount of data written to cache prior to writing to main storage |
CN1197014C (zh) * | 2002-03-20 | 2005-04-13 | 株式会社东芝 | 内部存储器型抗篡改处理器及保密方法 |
US20040193782A1 (en) * | 2003-03-26 | 2004-09-30 | David Bordui | Nonvolatile intelligent flash cache memory |
US20070204128A1 (en) * | 2003-09-10 | 2007-08-30 | Super Talent Electronics Inc. | Two-Level RAM Lookup Table for Block and Page Allocation and Wear-Leveling in Limited-Write Flash-Memories |
US20080091875A1 (en) * | 2006-10-12 | 2008-04-17 | International Business Machines Corporation | Method to increase performance of non-contiguously written sectors |
US20130042056A1 (en) * | 2011-08-12 | 2013-02-14 | Serge Shats | Cache Management Including Solid State Device Virtualization |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536391A (zh) * | 2017-03-06 | 2018-09-14 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US10007446B2 (en) | 2018-06-26 |
US20160328161A1 (en) | 2016-11-10 |
CN106201331B (zh) | 2020-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106201331B (zh) | 用于写入数据的方法及设备与储存媒体 | |
KR102231792B1 (ko) | 하이브리드 메모리 모듈 및 그것의 동작 방법 | |
US9983821B2 (en) | Optimized hopscotch multiple hash tables for efficient memory in-line deduplication application | |
US20140297921A1 (en) | Method of Partitioning Physical Block and Memory System Thereof | |
US8417914B2 (en) | Memory address translation | |
US9966152B2 (en) | Dedupe DRAM system algorithm architecture | |
KR20200033985A (ko) | 논리적/물리적 매핑 | |
CN109416666A (zh) | 具有压缩数据和标签的缓存 | |
US20170285954A1 (en) | Data storage device and data maintenance method thereof | |
US20150120988A1 (en) | Method of Accessing Data in Multi-Layer Cell Memory and Multi-Layer Cell Storage Device Using the Same | |
CN106796490A (zh) | 用于存储器管理的硬件自动化 | |
US9122586B2 (en) | Physical-to-logical address map to speed up a recycle operation in a solid state drive | |
US20170235488A1 (en) | Window based mapping | |
US9619165B1 (en) | Convertible leaf memory mapping | |
US20170285953A1 (en) | Data Storage Device and Data Maintenance Method thereof | |
JP5093294B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US20170091115A1 (en) | Method and electronic device for a mapping table in a solid-state memory | |
US10216571B2 (en) | System and methodology for error management within a shared non-volatile memory architecture using bloom filters | |
US9195591B2 (en) | Memory system | |
US9311234B2 (en) | Method for reliably addressing a large flash memory and flash memory | |
US20150234740A1 (en) | Memory system | |
CN106326135A (zh) | 一种平移非易失性存储器nvm的数据的方法及装置 | |
TWI620115B (zh) | 用於寫入資料的方法及設備與儲存媒體 | |
US8341378B2 (en) | Data storage device and data access method | |
US11657001B2 (en) | Data storage device and control method of address management using mapping tables |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |