CN109101434B - 存储装置、存储系统及所述存储装置的操作方法 - Google Patents
存储装置、存储系统及所述存储装置的操作方法 Download PDFInfo
- Publication number
- CN109101434B CN109101434B CN201810637342.2A CN201810637342A CN109101434B CN 109101434 B CN109101434 B CN 109101434B CN 201810637342 A CN201810637342 A CN 201810637342A CN 109101434 B CN109101434 B CN 109101434B
- Authority
- CN
- China
- Prior art keywords
- data
- address
- read command
- cell array
- memory cell
- 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.)
- Active
Links
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
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
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)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种存储装置、存储系统及所述存储装置的操作方法。所述存储装置包括:第一非易失性存储器单元阵列,包括在与衬底垂直的方向上排列的多个单元串,且在第一地址处存储第一数据;第二非易失性存储器单元阵列,在第二地址处存储根据对所述第一数据的存取模式从所述第一数据选出的第二数据;以及存储器控制器,管理第一映射表及第二映射表,所述第一映射表指示所述第二数据被存储在所述第二非易失性存储器单元阵列的所述第二地址处,所述第二映射表指示作为所述第二数据的原始数据的所述第一数据被存储在所述第一地址处。
Description
[相关申请的交叉参考]
本申请主张在2017年6月21日在韩国知识产权局提出申请的韩国专利申请第10-2017-0078437号的优先权,所述韩国专利申请的公开内容全文并入本申请供参考。
技术领域
本发明涉及一种存储装置、一种包括所述存储装置的存储系统及一种操作所述存储装置的方法。更具体来说,本发明涉及一种包括不同种类的非易失性存储器的存储装置、一种包括所述存储装置的存储系统及一种操作所述存储装置的方法。
背景技术
大体来说,半导体存储器装置可被分类为:易失性存储器装置,其中所存储的信息会随着电源中断而消失;以及非易失性存储器装置,即使在电源中断时也能够持续地保持所存储的信息。近来得到广泛应用的一种类型的非易失性存储器装置是与非闪存装置。为提高与非闪存装置的集成度,引入了一种具有垂直堆叠结构的与非闪存装置。
作为利用这种与非闪存装置的存储装置,已提出一种具有高速缓存存储器的结构,所述高速缓存存储器具有较小的延迟以获得较高的性能。
发明内容
本发明的一方面提供一种包括不同种类的非易失性存储器的存储装置。
本发明的另一方面提供一种包括存储装置的存储系统,所述存储装置包括不同种类的非易失性存储器。
本发明的再一方面提供一种操作存储装置的方法,所述存储装置包括不同种类的非易失性存储器。
本发明的方面并非仅限于以上提及的各个方面,而是所属领域中的技术人员可通过阅读以下说明清楚地理解以上未提及的其他方面。
根据本发明的一方面,一种存储装置包括:第一非易失性存储器单元阵列,包括在与衬底垂直的方向上排列的多个单元串,且被配置成在第一地址处存储第一数据;第二非易失性存储器单元阵列,被配置成在第二地址处存储从所述第一数据选出的第二数据,其中所述第二数据是根据对所述第一数据进行存取的模式来选出;以及存储器控制器,被配置成管理第一映射表及管理第二映射表,所述第一映射表指示所述第二数据被存储在所述第二非易失性存储器单元阵列的所述第二地址中,所述第二映射表指示作为所述第二数据的原始数据的所述第一数据被存储在所述第一地址中。
根据本发明的另一方面,一种存储系统包括:主机;第一固态驱动器(solid statedrive,SSD),包括在与衬底垂直的方向上排列的多个单元串,且被配置成在第一地址处存储第一数据;第二固态驱动器,被配置成在第二地址处存储从所述第一数据选出的第二数据,其中所述第二数据是根据对所述第一数据进行存取的模式来选出;以及存储控制器,被配置成根据由所述主机提供的读取命令从所述第一固态驱动器或所述第二固态驱动器向所述主机提供读取数据,其中所述存储控制器被配置成管理第一映射表及第二映射表,所述第一映射表指示所述第二数据被存储在所述第二固态驱动器的所述第二地址中,所述第二映射表指示作为所述第二数据的原始数据的所述第一数据被存储在所述第一地址中。
根据本发明的又一方面,提供一种方法来操作存储装置。所述方法包括:将第一数据存储在第一非易失性存储器单元阵列的第一地址处,所述第一非易失性存储器单元阵列包括在与衬底垂直的方向上排列的多个单元串;将从所述第一数据选出的第二数据存储在第二非易失性存储器单元阵列的第二地址处,其中所述第二数据是根据对所述第一数据进行存取的模式来选出;更新所述存储装置的第一映射表,以指示所述第二数据被存储在所述第二非易失性存储器单元阵列的所述第二地址中;以及更新所述存储装置的第二映射表,以指示作为所述第二数据的原始数据的所述第一数据被存储在所述第一地址中。
根据本发明的再一方面,一种存储装置包括:第一非易失性存储器单元阵列,被配置成在第一地址处存储第一数据;第二非易失性存储器单元阵列,被配置成在第二地址处存储从所述第一数据选出的第二数据,其中所述第二数据是根据对所述第一数据进行存取的模式来选出,其中用于对所述第二非易失性存储器单元阵列中的所述第二数据进行存取的延迟时间少于用于对所述第一非易失性存储器单元阵列中的所述第一数据进行存取的延迟时间;内部存储器,被配置成在其中存储第一映射表及第二映射表,所述第一映射表指示所述第二数据被存储在所述第二非易失性存储器单元阵列的所述第二地址处,所述第二映射表指示作为所述第二数据的原始数据的所述第一数据被存储在所述第一地址处;以及存储器控制器,被配置成管理所述第一映射表及所述第二映射表。
附图说明
通过参照附图详细阐述本发明的示例性实施例,本发明的以上及其它方面及特征将变得更显而易见。
图1是示出包括根据本发明一些实施例的存储装置的存储系统的方块图。
图2A是示出图1所示第一非易失性存储器单元阵列的实例的方块图。
图2B是图2A所示第一非易失性存储器单元阵列的一部分的电路图。
图3是示出图1所示第二非易失性存储器单元的示例性实施例的方块图。
图4是用于解释根据本发明一些实施例的存储装置的操作的流程图。
图5是用于解释根据本发明一些实施例的存储装置的操作的示意图。
图6是用于解释根据本发明一些实施例的存储装置的操作的流程图。
图7是用于解释根据本发明一些实施例的存储装置的操作的示意图。
图8是用于解释根据本发明一些实施例的存储装置的操作的示意图。
图9是用于解释根据本发明一些实施例的存储装置的操作的流程图。
图10A、图10B及图10C是用于解释根据本发明一些实施例的存储装置的操作的示意图。
图11是用于解释根据本发明一些实施例的存储系统的方块图。
[符号的说明]
100:主机;
110:中央处理器;
120:主机接口;
130:总线;
200:存储装置;
210:存储器控制器;
220:内部存储器;
230:缓冲管理器;
240:缓冲器;
260:第一映射表;
261_1、261_2、261_3、261_4:逻辑页号;
262_1、262_2、262_4、272_1、272_2、PPN1、PPN2:物理页号;
262_3:物理页号/第一地址;
270:第二映射表;
271_1、271_2:高速缓存索引;
280:内部接口;
300:非易失性存储器;
310:第一非易失性存储器单元阵列/非易失性存储器单元阵列;
311:第一非易失性存储器单元阵列;
311_1、311_2、311_3~311_n:第一区块/第一存储器区块;
320、321:第二非易失性存储器单元阵列;
321_1、321_2、321_3~321_m:第二区块;
400:存储控制器;
500:第一固态驱动器;
600:第二固态驱动器;
BL1、BL2、BL3:位线;
CSL:共源极线;
GSL1、GSL2、GSL3:地选择线;
GST:地选择晶体管;
MC1、MC2、MC3、MC4、MC5、MC6、MC7、MC8:存储器单元;
NS11、NS12、NS13、NS21、NS22、NS23、NS31、NS32、NS33:串接的单元;
P1:未产生第二数据;
P2:产生第二数据;
P3:从第一非易失性存储器单元阵列310读取未被选择的数据;
P4:从第二非易失性存储器单元阵列读取第二数据;
S110、S120、S130、S140、S210、S220、S230、S240、S250、S310、S320、S330、S340、S350、S360、S410、S420、S430、S440:步骤;
SSL1、SSL2、SSL3:串选择线;
SST:串选择晶体管;
WL1、WL2、WL3、WL4、WL5、WL6、WL7、WL8:字线。
具体实施方式
在下文中,将参照图1至图11阐述根据本发明一些实施例的半导体装置。
图1是示出包括根据本发明一些实施例的存储装置的存储系统的方块图。
参照图1,包括根据本发明一些实施例的存储装置的存储系统可包括主机100及存储装置200。
主机100可利用应用或文件系统来控制存储装置200的数据处理操作(即,数据写入操作或数据读取操作)。具体来说,主机100可向存储装置200提供随机读取命令或顺序性读取命令,或者可向存储装置200提供随机写入命令或顺序性写入命令,但本发明并非仅限于此。举例来说,主机100可指示主机控制器。
此处,顺序性读取命令是指其中基于作为读取命令的目标的数据地址来连续地提供针对接连的地址的读取命令的情形。相似地,顺序性写入命令是指其中基于作为写入命令的目标的数据地址来连续地提供针对接连的地址的写入命令的情形。
相反,随机读取命令是指对于任意的或分散的地址的读取命令而非对于接连的地址的读取命令,且随机写入命令也是指对于任意的或分散的地址的写入命令而非对于接连的地址的写入命令。
举例来说,主机100可通过以下中的任意一个接口来与存储装置200交换数据:通用串行总线(Universal Serial Bus,USB)、小型计算机系统接口(Small ComputerSystemInterface,SCSI)、快速外围组件互连(Peripheral Component Interconnectexpress,PCI express)、高级技术附件(Advanced Technology Attachment,ATA)、并行高级技术附件(Parallel ATA,PATA)、串行高级技术附件(Serial ATA,SATA)、串行连接小型计算机系统接口(Serial Attached SCSI,SAS)及快速非易失性存储器(Non VolatileMemory express,NVMe),但本发明并非仅限于此。
存储装置200可包括例如存储器控制器210、内部存储器220、缓冲管理器230、缓冲器240、内部接口280及非易失性存储器300。然而,本发明并非仅限于此。在本发明的一些实施例中,主机100与存储装置200可被作为单独的电子装置提供。然而,本发明并非仅限于此,且主机100与存储装置200可集成在单个装置中。
存储装置200可为基于闪存存储器的存储装置,且更具体来说,存储装置200可为固态驱动器(SSD)。如随后将阐述,存储装置200可利用非易失性存储器装置来存储从主机提供的数据,或者可读取所存储的数据并将所述数据提供到主机。
存储器控制器210可通过内部接口280来管理内部存储器220、缓冲管理器230等。存储器控制器210可存储例如用于控制存储装置200的操作的固件。
存储器控制器210可利用存储在内部存储器220中的第一映射表260及第二映射表270来控制非易失性存储器300。存储器控制器210的实现、以及利用同一方式的第一映射表260及第二映射表270将在以下进行阐述。
内部存储器220可存储对于第一非易失性存储器单元阵列310及第二非易失性存储器单元阵列320的操作而言所需的第一映射表260、以及存储第二映射表270。内部存储器220在存储器控制器210的控制下从第一映射表260及第二映射表270提供其中存储有数据的物理页号(physical page number),且存储器控制器210可从所提供的物理页号对存储在非易失性存储器300中的数据进行存取。
内部存储器220可包括例如易失性存储器,具体来说,内部存储器220可包括动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)或静态随机存取存储器(StaticRandomAccess Memory,SRAM),但本发明并非仅限于此。
当内部存储器220包括例如动态随机存取存储器或静态随机存取存储器时,内部存储器220的操作速度可比第一非易失性存储器单元阵列310的操作速度或第二非易失性存储器单元阵列320的操作速度快。另一方面,内部存储器220的存储容量可比第一非易失性存储器单元阵列310的存储容量或第二非易失性存储器单元阵列320的存储容量小。
非易失性存储器300可存储从主机100提供的数据,或者可响应于来自主机100的请求来读取存储在非易失性存储器300中的数据并将数据提供到主机100。
非易失性存储器300可包括第一非易失性存储器单元阵列310及第二非易失性存储器单元阵列320。图1示出其中第一非易失性存储器单元阵列310或第二非易失性存储器单元阵列320分别由多个物理单元或多个逻辑单元构成的配置,但本发明并非仅限于此。
将参照图2A及图2B来对第一非易失性存储器单元阵列310进行阐述。
图2A是示出图1所示第一非易失性存储器单元阵列的示例性实施例的方块图,且图2B是图2A所示第一非易失性存储器单元阵列的一部分的电路图。
参照图2A及图2B,第一非易失性存储器单元阵列311可包括n个第一区块(311_1到311_n,其中n是自然数)。第一非易失性存储器单元阵列311为以上参照图1阐述的非易失性存储器单元阵列310的一个实施例。第一非易失性存储器单元阵列311的第一区块311_1到311_n中的每一者是执行擦除命令的单位(即,同时被执行存储器单元的擦除命令的单位)。第一非易失性存储器单元阵列311的第一区块(311_1到311_n,其中n是自然数)中的每一者可包括例如128页或256页。页是被执行读取命令及写入命令的存储器单元的单位或群组。
第一非易失性存储器单元阵列311可包括与非闪存存储器单元,更具体来说,在与衬底垂直的方向上排列的多个串接的单元。第一存储器区块311_1到311_n中的每一者具有三维结构,且可包括在与衬底垂直的方向上延伸的多个串接的单元NS11到NS33。所述多个串接的单元NS11到NS33中的每一者可连接到位线BL1~BL3、至少一条串选择线SSL、至少一条地选择线GSL、多条字线WL及共源极线CSL。
同一行上的串接的单元NS的串选择晶体管SST可共享串选择线SSL。不同行的串接的单元NS的串选择晶体管SST可连接到不同的串选择线SSL1、SSL2及SSL3。
同一行上的串接的单元NS的地选择晶体管GST可共享地选择线GSL。不同行的串接的单元NS的地选择晶体管GST可连接到不同的地选择线GSL1、GSL2及GSL3。
作为处于同一行的串接的单元NS而处于同一高度的存储器单元MC1到MC8可共享字线WL1到WL8。在同一高度处,连接到处于不同行的串接的单元NS的存储器单元MC1到MC8的字线WL1到WL8可共同连接到彼此。
如图2B所示,第一非易失性存储器单元阵列311包括被形成为在垂直方向上堆叠的存储器单元MC1到MC8。然而,参照图2A及图2B阐述的存储器单元的结构是包括在垂直方向上形成的单元串的排列方式的实例。然而,对所属领域中的技术人员来说将显而易见的是,垂直存储器单元可采用与图2A所示第一非易失性存储器单元阵列311的结构不同的方法或排列方式形成。
另外,第一非易失性存储器单元阵列311可包括多层单元(Multi Level Cell,MLC)存储器装置或模块或者三层单元(Triple Level Cell,TLC)存储器装置或模块。因此,第一非易失性存储器单元阵列311可运行以在作为最小的数据存储单位的单元中存储两位值或三位值。
再次参照图1,第二非易失性存储器单元阵列320与第一非易失性存储器单元阵列310一同包括在非易失性存储器300中,且可根据存储器控制器210的控制来存储从主机100提供的数据或者将所存储的数据提供到主机100。
第二非易失性存储器单元阵列320可具有与第一非易失性存储器单元阵列310的配置不同的配置。将参照图3更详细地阐述第二非易失性存储器单元阵列320的配置的实例。
图3是示出图1所示第二非易失性存储器单元阵列320的示例性实施例的方块图。
参照图3,第二非易失性存储器单元阵列321可包括m个第二区块(321_1到321_m,其中m是自然数)。第二非易失性存储器单元阵列321可为以上参照图1阐述的第二非易失性存储器单元阵列320的一个实施例。第二非易失性存储器单元阵列321的第二区块321_1到321_m中的每一者可包括例如128页或256页。页是被执行读取命令及写入命令的存储器单元的单位或群组。
第二非易失性存储器单元阵列321可包括例如与非闪存存储器单元,且更具体来说,单层单元(Single Level CELL,SLC)存储器装置或模块。因此,第二非易失性存储器单元阵列321可运行以在作为最小的数据存储单位的存储器单元中存储仅一位值。另外,第二非易失性存储器单元阵列321可为但不限于平面型闪存存储器单元,且第二非易失性存储器单元阵列321可包括在与衬底垂直的方向上排列的多个串接的单元,如在第一非易失性存储器单元阵列311中一样。
在本发明的一些实施例中,第一非易失性存储器单元阵列311中包括的第一区块311_1到311_n可被配置成具有第一大小。另一方面,在第二非易失性存储器单元阵列321中包括的第二区块321_1到321_m可被配置成具有与第一大小不同的第二大小。在本发明的一些实施例中,第一大小可被配置成比第二大小大。
也就是说,第二非易失性存储器单元阵列321被设定成具有比第一非易失性存储器单元阵列311的区块大小小的区块大小。因此,用于对存储在第二非易失性存储器单元阵列321中的数据进行存取的延迟时间可小于(少于)用于对存储在第一非易失性存储器单元阵列311中的数据进行存取的延迟时间。
尽管已在第二非易失性存储器单元阵列321包括与非闪存存储器的配置的条件下对第二非易失性存储器单元阵列321的配置进行了阐述,然而本发明并非仅限于此。
具体来说,第二非易失性存储器单元阵列321可包括以下中的任一者:相变随机存取存储器(Phase-change RAM,PRAM)、铁电随机存取存储器(Ferroelectronic RAM,FRAM)、电阻式随机存取存储器(Resistive RAM,RRAM)或磁阻式随机存取存储器(Magnetoresistive RAM,MRAM)。也就是说,与通过充入电子来表示数据的与非闪存存储器相比,由于上述构成元件利用相变物质、铁电体、电阻器及磁性隧道结物质作为存储元件,因此可使得用于对存储在上述构成元件中的数据进行存取的延迟时间比用于对存储在第一非易失性存储器单元阵列中的数据进行存取的延迟时间小(低)。
再次参照图1,存储器控制器210可通过内部接口280来与形成存储装置200的各个组件进行通信。内部接口280可包括例如高级微控制器总线架构(AdvancedMicrocontroller Bus Architecture,AMBA)、高级高性能总线(Advanced high-performance bus,AHB)、高级外围总线(Advanced Peripheral Bus,APB)、高级可扩展接口(Advanced Extensible Interface,AXI)、高级系统总线(Advanced System Bus,ASB)或其组合,但本发明并非仅限于此。
缓冲管理器230可对缓冲器240写入数据或者从缓冲器240读取数据。缓冲管理器230可包括动态随机存取存储器、静态随机存取存储器、闪存存储器等,但本发明并非仅限于此。接下来,将详细阐述根据本发明一些实施例的存储装置的操作。
图4是用于解释根据本发明一些实施例的存储装置的操作的流程图。
参照图4,在根据本发明一些实施例的存储装置中,将阐述其中将第一数据存储在第一非易失性存储器单元阵列310中并将第二数据存储在第二非易失性存储器单元阵列320中的过程。
具体来说,将第一数据存储在第一非易失性存储器单元阵列310的第一地址中(S110),将从第一数据选出的第二数据存储在第二非易失性存储器单元阵列320中(S120),更新第一映射表260以表示或指示第二数据被存储在第二非易失性存储器单元阵列320的第二地址中(S130),以及更新第二映射表270以表示或指示作为第二数据的原始数据的第一数据被存储在第一地址中(S140)。
将结合图5来阐述存储在第一非易失性存储器单元阵列310的第一地址中的第一数据、存储在第二非易失性存储器单元阵列320的第二地址中的第二数据、第一映射表260及第二映射表270。
图5是用于解释根据本发明一些实施例的存储装置的操作的示意图。
参照图5,示出了在其中存储有第一数据以及从第一数据选出的第二数据中的每一者的情形中第一映射表260及第二映射表270的实例。
为对第一非易失性存储器单元阵列310的物理页号(physical page number,PPN)进行管理,第一映射表260可包括页映射表,所述页映射表包括与物理页号一一对应的逻辑页号(logical page number,LPN)。
尽管图中未示出,然而存储器控制器210可另外地包括用于将地址从逻辑页号转换成物理页号的转换器。当从主机100接收到被分配到存储器映射地址的逻辑地址时,转换器可将与所述逻辑地址对应的非易失性存储器300的物理页号PPN1传输到主机100。
第一映射表260存储与各个逻辑页号261_1到261_4对应的各个物理页号262_1到262_4。物理页号262_1到262_4中的每一者可指第一非易失性存储器单元阵列310中的与逻辑页号261_1到261_4对应的物理号码。
可执行如下过程:选择存储在第一非易失性存储器单元阵列310中的第一地址262_3中的第一数据的一部分并将所述一部分存储在第二非易失性存储器单元阵列320中。在一些实施例中,选择第二数据可为根据高速缓存存储器策略选择第一数据的一部分作为高速缓存数据。高速缓存存储器策略可至少部分地基于用于对第一数据进行存取的模式。举例来说,第二数据可作为第一数据中被频繁存取的数据(例如,第一数据中被最频繁存取的数据)进行选择。但是本发明并非仅限于此。举例来说,策略还可至少部分地基于第一数据中的数据已被存取的新近程度(例如,第二数据可为第一数据中的最新被存取的数据)。事实上,高速缓存存储器策略可为在所属领域中采用的任意种类的已知高速缓存存储器策略中的一者。
存储器控制器210可选择存储在第一非易失性存储器单元阵列310的第一地址262_3中的第一数据的一部分且可存储第一数据的所述一部分作为第二数据,且可将第二数据存储在第二非易失性存储器单元阵列320中。另外,存储器控制器210的固件可存储在第一非易失性存储器单元阵列310中进行选择时所使用的预定策略。
执行对存储在第一地址262_3中的第一数据进行的选择,并将第一数据复制及存储在第二非易失性存储器单元阵列320中。具体来说,将从第一数据选出的第二数据存储在第二非易失性存储器单元阵列320的第二地址中(S120)。当选出存储在第一非易失性存储器单元阵列310的第一地址262_3中的第一数据的一部分时,存储器控制器210可将第一数据提供到由第二映射表270的高速缓存索引271_1指示的第二非易失性存储器单元阵列320的第二地址,并将第一数据存储在第二地址中。
如在图5所示第二映射表270中所示,第二数据仅被存储在由所述两个高速缓存索引271_1及271_2的中的一个高速缓存索引271_1指示的第二地址中,且第二数据未被存储在由其余的高速缓存索引271_2指示的地址中。因此,高速缓存索引271_2及物理页号272_2保持空白。然而,本发明并非仅限于此,且对于未被存储的高速缓存索引及物理页号而言可记录其他预定值,且当搜索高速缓存索引时存储器控制器210可确定未存储第二数据。
可针对第二数据的存储来更新第一映射表260及第二映射表270(S130、S140)。
具体来说,对指示在第一非易失性存储器单元阵列310中存储第一数据的物理页号的物理页号(262_3)进行更新以指示第二数据被存储在第二非易失性存储器单元阵列320的由第二映射表270的高速缓存索引271_1指示的第二地址中。因此,作为第二非易失性存储器单元阵列320的第二地址的高速缓存索引271_1的‘0x2002’被记录在物理页号(262_3)中。
同时,对与第二映射表270中的第二地址的高速缓存索引271_1对应的物理页号272_1进行更新以指示作为第二数据的原始数据的第一数据被存储在第一非易失性存储器单元阵列310的第一地址处。因此,在第一非易失性存储器单元阵列310中存储第一数据的第一地址即‘0x0002’被记录在第二映射表270的对应的物理页号272_1中。
这样一来,第一映射表260被更新成指示在第二非易失性存储器单元阵列320中存储第二数据的第二地址,且第二映射表270被更新成指示在第一非易失性存储器单元阵列310中存储第二数据的原始数据(即,第一数据)的第一地址。当存在对于从主机100读取第一数据的请求时,存储器控制器210可根据需要参考第一映射表260或第二映射表270,选择性地从第二非易失性存储器单元阵列320或第一非易失性存储器单元阵列310读取数据,并将所述数据提供到主机100。现将参照图6阐述对于操作的详细说明。
图6是用于解释根据本发明一些实施例的存储装置的操作的流程图。
参照图6,根据本发明一些实施例的存储装置从主机100接收对于第一数据的读取命令(S210),并判断读取命令是顺序性读取还是随机读取(S220)。当读取命令是顺序性读取时,存储装置通过参考第二映射表来从第一非易失性存储器单元阵列310的第一地址读取第一数据(S230)。当读取命令是随机读取时,存储装置通过参考第一映射表来从第二非易失性存储器单元阵列320的第二地址读取第二数据(S240),并将所述数据提供到主机(S250)。
根据本发明一些实施例的存储装置包括第一非易失性存储器单元阵列310、以及用于存储在第一非易失性存储器单元阵列310中所存储的数据的一部分的第二非易失性存储器单元阵列320。如上所述,存储装置可包括垂直堆叠的与非闪存存储器。在一个存储器单元中存储仅一个位且以比第一非易失性存储器单元阵列310的区块大小小的区块大小进行分区的第二非易失性存储器单元阵列320的延迟少于在一个存储器单元中存储两个或更多个位的第一非易失性存储器单元阵列310的延迟。因此,对于第二非易失性存储器单元阵列320的存储器存取可比对于第一非易失性存储器单元阵列310的存储器存取快。因此,在根据本发明实施例的存储装置中,可使用第二非易失性存储器单元阵列320作为一种高速缓存存储器。
然而,在进行来自主机100的读取请求期间,在其中数据的顺序至关重要的数据的情形中,通过参考第二非易失性存储器单元阵列320来读取第二数据可使读取性能变差。
举例来说,在图5所示第一映射表260及第二映射表270的实例中,假设为以下情形:存在对于存储在与为0到3的逻辑页号261_1到261_4对应的物理页号262_1到262_4中的数据的顺序性读取请求。由于逻辑页号‘2’(262_3)指示第二非易失性存储器单元阵列320的高速缓存索引,因此在顺序性读取期间可需要从第二非易失性存储器单元阵列320执行读取。
在这种情形中,在从与为‘0’到‘1’的逻辑页号261_1到261_2对应的物理页号‘0x0000’及‘0x0001’读取数据之后,对第二非易失性存储器单元阵列320进行存取以获得存储在与为‘2’的逻辑页号261_3对应的物理页号‘0x2002’中的数据,并再次从与为‘3’的逻辑页号261_4对应的物理页号‘0x0003’读取数据。
也就是说,通过对第二非易失性存储器单元阵列320进行存取来读取数据而引起的延迟比在对第一非易失性存储器单元阵列310的物理地址‘0x0000到0x0003’执行顺序性读取的情形中大。
因此,根据本发明实施例的存储器控制器210在以下两者之间进行选择:基于从主机100提供的读取请求通过参考第二映射表270来从第一非易失性存储器单元阵列的第一地址读取第一数据;或者在读取命令是随机读取时通过参考第一映射表260来从第二非易失性存储器单元阵列320的第二地址读取第二数据。因此,可防止对数据进行读取的顺序由于对第二非易失性存储器单元阵列320进行的不必要的存取而被打破。
图7是用于解释根据本发明一些实施例的存储装置的操作的示意图。
参照图7,当确定从主机100向存储器控制器210提供的读取命令是顺序性读取时,存储器控制器210会参考第一映射表260,且当未产生第二数据(P1)时,通过顺序性读取方法来从第一非易失性存储器单元阵列310读取第一数据。另一方面,当产生第二数据(P2)时,通过再次参考第二映射表270,继续从第一非易失性存储器单元阵列310进行顺序性读取。
另一方面,当确定从主机100向存储器控制器210提供的读取命令是随机读取时,存储器控制器210会参考第一映射表260,从第一非易失性存储器单元阵列310读取未被选择的数据(P3)或者从第二非易失性存储器单元阵列320读取第二数据(P4)。
如上所述,根据本发明实施例的数据存储装置中所包括的存储器控制器210根据从主机100提供的读取命令的性质来选择性地参考第一映射表260及第二映射表270,且可从第一非易失性存储器单元阵列310或第二非易失性存储器单元阵列320读取数据。
接下来,将阐述在存储器控制器210确定从主机100提供的读取命令的性质时所采用的方案。
图8是用于解释根据本发明一些实施例的存储装置的操作的示意图。
参照图8,存储器控制器210判断从主机100提供的命令的队列深度(Queue Depth,QD)是否大于(高于)预定参考值N(S310)。命令的队列深度是指同时从主机100向存储装置提供的读取命令及写入命令的数目。
如果从主机100提供的命令的队列深度小于(低于)预定参考值,则将此命令确定为对任意的或分散的地址的存取命令,且可对存储在第二非易失性存储器单元阵列320中的第二数据进行存取。相比之下,如果从主机100提供的命令的队列深度大于(高于)预定参考值,则将此命令确定为对于连续地址的存取命令,且可通过参考在第二映射表270中描述的原始数据的地址来对存储在第一非易失性存储器单元阵列310中的第一数据进行存取。在本发明的一些实施例中,预定参考值可为4,但本发明并非仅限于此。
随后,存储器控制器210判断从主机100提供的命令是否是顺序性串流(S320)。当从主机100提供的命令是对于顺序性串流的存取命令(‘Y’)时,可通过参考在第二映射表270中描述的原始数据的地址来对存储在第一非易失性存储器单元阵列310中的第一数据进行存取。相反,如果从主机100提供的命令不是对于顺序性串流的存取命令(‘N’),则可对存储在第二非易失性存储器单元阵列320中的第二数据进行存取。
最终,存储器控制器210判断第二非易失性存储器单元阵列320的存储体(bank)是否空闲(S330)。更具体来说,当第二非易失性存储器单元阵列320的存储体空闲时(即,当存储体忙碌的预期时间短(‘Y’)时),可从第二非易失性存储器单元阵列320读取第二数据(S340)。作为另外一种选择,当第二非易失性存储器单元阵列320的存储体忙碌(‘N’)时,可从第一非易失性存储器单元阵列310读取数据(S350)。
尽管图8示出其中存储器控制器210对所有以下三者进行判断的配置:(1)从主机100提供的命令的队列深度;(2)顺序性串流存在或不存在;及(3)第二非易失性存储器单元阵列320的存储体的状态,然而本发明并非仅限于此。也就是说,存储器控制器210可使用以上三个条件中的至少一个条件来判断存在或不存在从主机100提供的命令的顺序性读取,且对所属领域中的技术人员而言显而易见的是,还可对所述三个条件中的两个或更多个条件进行组合。另外,不同于图8所示次序,对所述三个条件进行判断的次序可采用相反的次序来执行,或者同时执行。
将从第一非易失性存储器单元阵列310或第二非易失性存储器单元阵列320读取的数据提供到主机100(S360)。
图9是用于解释根据本发明一些实施例的存储装置的操作的流程图。
参照图9,其呈现对于由主机100提供到存储器控制器210的命令的另一个判断准则。也就是说,存储器控制器210判断是否存在与从主机100提供的命令一同提供的标签(S410),且如果存在标签(‘Y’),则可从第二非易失性存储器单元阵列320读取第二数据(S420),且如果不存在标签(‘N’),则可从第一非易失性存储器单元阵列310读取数据(S430)。
也就是说,当从主机100提供的命令是强制性地从第二非易失性存储器单元阵列320进行读取时,可通过判断存在或不存在在命令中提供的标签来选择是从第一非易失性存储器单元阵列310进行读取还是从第二非易失性存储器单元阵列320进行读取。
相反,显而易见,如果未在命令中提供标签,则也可强制性地从第一非易失性存储器单元阵列310读取数据。
将从第一非易失性存储器单元阵列310或第二非易失性存储器单元阵列320读取的数据提供到主机100(S440)。
图10A至图10C是用于解释根据本发明一些实施例的存储装置的操作的示意图。
图10A至图10C示出在第二非易失性存储器单元阵列320中存储的第二数据的回收过程(eviction process)。首先,参照图10A,可存在其中在存储在第二非易失性存储器单元阵列320中的第二数据中发生冲突或者出于其他原因需要删除第二数据的情形。此时,在第一映射表260中的指示第二地址的物理页号262_3中记录的第二非易失性存储器单元阵列320的高速缓存索引被修正到第一地址0x0002,第一数据在第一非易失性存储器单元阵列310中被存储在第一地址0x0002中。因此,当存在对于在第二地址处存储的第二数据进行读取的请求时,存储器控制器210不会参考存储在第二非易失性存储器单元阵列320中的第二数据,而存储器控制器210会参考存储在第一地址中的第一数据并提供第一数据。
接下来,参照图10B及图10C,由第二非易失性存储器单元阵列320的物理页号272_1指示的第一地址也可被删除且被记录为0xFFFF。另外,由第二映射表270的高速缓存索引271_1指示的第二数据也可被删除。由图10A至图10C解释的第二数据的回收过程可同时执行,或者可采用以上过程的相反次序来执行。
图11是用于解释根据本发明一些实施例的存储系统的方块图。
参照图11,根据本发明的一些实施例的存储系统可包括主机100、存储控制器400、多个第一固态驱动器500及第二固态驱动器600。
主机100可包括中央处理器110及主机接口120。中央处理器110可产生可对存储控制器400的读取操作或写入操作进行控制的读取请求或写入请求。读取操作可包括读取地址且写入操作可包括写入地址。中央处理器110可将所产生的请求通过总线130传送到主机接口120。
主机接口120对要传送到存储控制器400的命令及数据进行管理且可将所述命令及数据传送到存储控制器400。另外,主机接口120可对从存储控制器400传送的数据进行管理并将所述数据传送到中央处理器110。
存储控制器400可根据从主机100提供的读取命令或写入命令来对第一固态驱动器500或第二固态驱动器600进行存取。与上述存储器控制器210相似,存储控制器400可根据从主机100提供的命令的类型或性质来对存储在第一固态驱动器500或第二固态驱动器600中的数据进行存取。
所述多个第一固态驱动器500可包括至少一个垂直堆叠的与非闪存存储器。在本发明的一些实施例中,垂直堆叠的与非闪存存储器可包括在一个存储器单元中存储两个位或更多个位的多层单元装置或模块或者三层单元装置或模块。与上述实施例中的第一非易失性存储器单元阵列310相似,第一固态驱动器500可用作用于存储第一数据的主存储装置。
第二固态驱动器600可包括例如与非闪存存储器单元,且具体来说,可包括单层单元存储器模块。在本发明的一些实施例中,与上述实施例中的第二非易失性存储器单元阵列320相似,第二固态驱动器600可用作用于存储第二数据的高速缓存存储装置。
尽管图中未示出,然而根据本发明实施例的存储装置或存储系统可利用各种类型的封装进行安装。举例来说,第一非易失性存储器单元阵列310或第二非易失性存储器单元阵列320及/或存储器控制器210可利用例如以下封装进行安装:层叠封装(Package onPackage,PoP)、球栅阵列(Ball grid array,BGA)、芯片级封装(Chip scale package,CSP)、塑料引线芯片载体(Plastic Leaded Chip Carrier,PLCC)、塑料双列直插式封装(Plastic Dual in-Line Package,PDIP)、华夫包装式裸片(Die in Waffle Pack)、晶片式裸片(Die in Wafer Form)、板上芯片(Chip On Board,COB)、陶瓷双列直插封装(CeramicDual in-Line Package,CERDIP)、塑料公制四方扁平封装(Plastic Metric Quad FlatPack,PMQFP)、薄型四方扁平封装(Thin Quad Flatpack,TQFP)、小外形集成电路(SmallOutline Integrated Circuit,SOIC)、收缩型小外形封装(Shrink Small OutlinePackage,SSOP)、薄型小外形封装(Thin Small Outline Package,TSOP)、系统级封装(System In Package,SIP)、多芯片封装(Multi Chip Package,mcp)、晶片级构造封装(Wafer-level Fabricated Package,WFP)及晶片级处理堆叠封装(Wafer-LevelProcessed StackPackage,WSP)。然而,本发明并非仅限于此。
尽管已参照本发明的示例性实施例具体示出并阐述了本发明,然而所属领域中的一般技术人员应理解,在不背离由以上权利要求书所界定的本发明的精神及范围的条件下,可在本文中作出形式及细节上的各种变化。各示例性实施例应被视为仅具有说明性意义而非用于限制目的。
Claims (15)
1.一种存储装置,其特征在于,包括:
第一非易失性存储器单元阵列,包括在与衬底垂直的方向上排列的多个单元串,且被配置成在第一地址处存储第一数据;
第二非易失性存储器单元阵列,被配置成在第二地址处存储从所述第一数据选出的第二数据,其中所述第二数据是根据对所述第一数据进行存取的模式来选出;以及
存储器控制器,被配置成管理第一映射表及管理第二映射表,所述第一映射表指示所述第二数据被存储在所述第二非易失性存储器单元阵列的所述第二地址处,所述第二映射表指示作为所述第二数据的原始数据的所述第一数据被存储在所述第一地址处,
其中所述存储器控制器被配置成使得当所述存储器控制器接收到对于从所述第一数据选出的数据的至少一部分的读取命令时,响应于所述读取命令,所述存储器控制器基于所述读取命令是顺序性读取命令或随机读取命令来选择是读取被存储在所述第一地址处的所述第一数据还是读取被存储在所述第二地址处的所述第二数据,
其中所述存储器控制器被配置成当对于所述第一数据的所述读取命令基于所述读取命令的队列深度超过参考值而被判断成是所述顺序性读取命令时从所述第一地址读取所述第一数据,
其中所述存储器控制器被配置成当对于所述第一数据的所述读取命令基于所述读取命令的所述队列深度小于所述参考值而被判断成是所述随机读取命令时从所述第二地址读取所述第二数据。
2.根据权利要求1所述的存储装置,其特征在于,当确定要回收所述第二数据时,所述存储器控制器删除存储在所述第二映射表中指示的所述第二数据及所述第一映射表中指示的所述第二地址。
3.根据权利要求1所述的存储装置,其特征在于,所述第一映射表包括页映射表,所述页映射表包括逻辑页号及与所述逻辑页号对应的物理页号。
4.根据权利要求1所述的存储装置,其特征在于,所述第二映射表包括:高速缓存索引及与所述高速缓存索引对应的物理页号。
5.根据权利要求4所述的存储装置,其特征在于,与所述高速缓存索引对应的所述物理页号指示所述第一地址。
6.根据权利要求1所述的存储装置,其特征在于,存储在所述第一非易失性存储器单元阵列的所述第一地址处的所述第一数据是与存储在所述第二非易失性存储器单元阵列的所述第二地址处的所述第二数据同时存储。
7.根据权利要求1所述的存储装置,其特征在于,所述第二非易失性存储器单元阵列包括单层单元存储器模块。
8.根据权利要求7所述的存储装置,其特征在于,所述第一非易失性存储器单元阵列被划分成具有第一大小的多个第一区块,且所述第二非易失性存储器单元阵列被划分成具有第二大小的多个第二区块,所述第二大小小于所述第一大小。
9.一种存储系统,其特征在于,包括:
主机;
第一固态驱动器,包括在与衬底垂直的方向上排列的多个单元串,且被配置成在第一地址处存储第一数据;
第二固态驱动器,被配置成在第二地址处存储从所述第一数据选出的第二数据,其中所述第二数据是根据对所述第一数据进行存取的模式来选出;以及
存储控制器,被配置成根据由所述主机提供的读取命令从所述第一固态驱动器或所述第二固态驱动器向所述主机提供读取数据,
其中所述存储控制器被配置成管理第一映射表及第二映射表,所述第一映射表指示所述第二数据被存储在所述第二固态驱动器的所述第二地址处,所述第二映射表指示作为所述第二数据的原始数据的所述第一数据被存储在所述第一地址处,
所述存储控制器被配置成使得,响应于所述读取命令,所述存储控制器基于所述读取命令是顺序性读取命令或随机读取命令来选择是读取被存储在所述第一地址处的所述第一数据还是读取被存储在所述第二地址处的所述第二数据,
其中所述存储控制器被配置成当所述读取命令基于所述读取命令的队列深度超过参考值而被判断成是所述顺序性读取命令时从所述第一地址读取所述第一数据,
其中所述存储控制器被配置成当所述读取命令基于所述读取命令的所述队列深度小于所述参考值而被判断成是所述随机读取命令时从所述第二地址读取所述第二数据。
10.根据权利要求9所述的存储系统,其特征在于,所述第一映射表包括页映射表,所述页映射表包括逻辑页号及与所述逻辑页号对应的物理页号,且其中所述第二映射表包括高速缓存索引及与所述高速缓存索引对应的物理页号。
11.根据权利要求9所述的存储系统,其特征在于,所述第一固态驱动器包括具有第一大小的多个第一区块,且所述第二固态驱动器包括具有第二大小的多个第二区块,所述第二大小小于所述第一大小。
12.根据权利要求9所述的存储系统,其特征在于,所述主机被配置成对所述读取命令提供标签,且所述存储控制器基于所述读取命令的所述标签来将被存储在所述第二地址处的第二数据提供到所述主机。
13.根据权利要求9所述的存储系统,其特征在于,所述第二固态驱动器包括单层单元存储器模块。
14.一种操作存储装置的方法,其特征在于,所述方法包括:
将第一数据存储在第一非易失性存储器单元阵列的第一地址处,所述第一非易失性存储器单元阵列包括在与衬底垂直的方向上排列的多个单元串;
将从所述第一数据选出的第二数据存储在第二非易失性存储器单元阵列的第二地址处,其中所述第二数据是根据对所述第一数据进行存取的模式来选出;
更新所述存储装置的第一映射表,以指示所述第二数据被存储在所述第二非易失性存储器单元阵列的所述第二地址处;
更新所述存储装置的第二映射表,以指示作为所述第二数据的原始数据的所述第一数据被存储在所述第一地址处;
接收对于从所述第一数据选出的数据的至少一部分的读取命令;
响应于所接收的所述读取命令,基于所述读取命令是顺序性读取命令或随机读取命令来选择是从被存储在所述第一地址处的所述第一数据或从被存储在所述第二地址处的所述第二数据进行读取;
当所述读取命令基于所述读取命令的队列深度超过参考值而被判断成是所述顺序性读取命令时从所述第一地址读取所述第一数据;以及
当所述读取命令基于所述读取命令的所述队列深度小于所述参考值而被判断成是所述随机读取命令时从所述第二地址读取所述第二数据。
15.根据权利要求14所述的方法,其特征在于,所述第一非易失性存储器单元阵列包括具有第一大小的多个第一区块,且所述第二非易失性存储器单元阵列包括具有第二大小的多个第二区块,所述第二大小小于所述第一大小。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0078437 | 2017-06-21 | ||
KR1020170078437A KR102319189B1 (ko) | 2017-06-21 | 2017-06-21 | 스토리지 장치, 이를 포함하는 스토리지 시스템 및 스토리지 장치의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109101434A CN109101434A (zh) | 2018-12-28 |
CN109101434B true CN109101434B (zh) | 2023-09-05 |
Family
ID=64693300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810637342.2A Active CN109101434B (zh) | 2017-06-21 | 2018-06-20 | 存储装置、存储系统及所述存储装置的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10747680B2 (zh) |
KR (1) | KR102319189B1 (zh) |
CN (1) | CN109101434B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10445195B2 (en) * | 2017-08-07 | 2019-10-15 | Micron Technology, Inc. | Performing data restore operations in memory |
US11048597B2 (en) | 2018-05-14 | 2021-06-29 | Micron Technology, Inc. | Memory die remapping |
KR20200056533A (ko) * | 2018-11-14 | 2020-05-25 | 삼성전자주식회사 | 맵 스케줄링을 수행하기 위한 스토리지 장치 및 그것을 포함하는 전자 장치 |
TWI709854B (zh) * | 2019-01-21 | 2020-11-11 | 慧榮科技股份有限公司 | 資料儲存裝置及用於存取邏輯至物理位址映射表之方法 |
KR20200142219A (ko) | 2019-06-12 | 2020-12-22 | 삼성전자주식회사 | 전자 장치 및 그의 저장 공간 이용 방법 |
US11650742B2 (en) * | 2019-09-17 | 2023-05-16 | Micron Technology, Inc. | Accessing stored metadata to identify memory devices in which data is stored |
US10963396B1 (en) | 2019-09-17 | 2021-03-30 | Micron Technology, Inc. | Memory system for binding data to a memory namespace |
US11269780B2 (en) | 2019-09-17 | 2022-03-08 | Micron Technology, Inc. | Mapping non-typed memory access to typed memory access |
US11086786B2 (en) * | 2019-12-09 | 2021-08-10 | Westem Digital Technologies, Inc. | Storage system and method for caching a single mapping entry for a random read command |
DE102020105669A1 (de) * | 2019-12-31 | 2021-07-01 | Taiwan Semiconductor Manufacturing Co., Ltd. | Integrierte schaltung |
CN113129944A (zh) | 2019-12-31 | 2021-07-16 | 台湾积体电路制造股份有限公司 | 集成电路及其方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187879A (zh) * | 2007-12-27 | 2008-05-28 | 威盛电子股份有限公司 | 电子系统及其数据处理方法 |
KR20150139383A (ko) * | 2014-06-03 | 2015-12-11 | 에스케이하이닉스 주식회사 | 반도체 장치 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110179219A1 (en) | 2004-04-05 | 2011-07-21 | Super Talent Electronics, Inc. | Hybrid storage device |
JP2008226141A (ja) | 2007-03-15 | 2008-09-25 | Toshiba Corp | プログラムおよび情報処理装置 |
JP5059493B2 (ja) | 2007-06-15 | 2012-10-24 | 株式会社リコー | アクセス制御装置、アクセス制御方法、アクセス制御プログラムおよび記録媒体 |
US7908436B1 (en) * | 2008-04-25 | 2011-03-15 | Netapp, Inc. | Deduplication of data on disk devices using low-latency random read memory |
US8307241B2 (en) * | 2009-06-16 | 2012-11-06 | Sandisk Technologies Inc. | Data recovery in multi-level cell nonvolatile memory |
US20120017039A1 (en) * | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
KR101678919B1 (ko) * | 2011-05-02 | 2016-11-24 | 삼성전자주식회사 | 메모리 시스템 및 에러 정정 방법 |
US8838895B2 (en) | 2011-06-09 | 2014-09-16 | 21Vianet Group, Inc. | Solid-state disk caching the top-K hard-disk blocks selected as a function of access frequency and a logarithmic system time |
WO2013048483A1 (en) * | 2011-09-30 | 2013-04-04 | Intel Corporation | Platform storage hierarchy with non-volatile random access memory having configurable partitions |
KR101400506B1 (ko) | 2012-07-13 | 2014-05-27 | 주식회사 이에프텍 | 비휘발성 메모리 제어기 및 그 제어 방법 |
US9122588B1 (en) | 2013-03-15 | 2015-09-01 | Virident Systems Inc. | Managing asymmetric memory system as a cache device |
KR101475483B1 (ko) * | 2013-06-27 | 2014-12-19 | 이화여자대학교 산학협력단 | 비휘발성 버퍼 캐시와 비휘발성 스토리지를 위한 통합 데이터 관리 장치 및 방법 |
US9208074B2 (en) | 2013-08-30 | 2015-12-08 | Silicon Motion, Inc. | Updating address mapping in sub-intervals in a flash memory data storage device |
US9454991B2 (en) | 2013-10-21 | 2016-09-27 | Marvell World Trade Ltd. | Caching systems and methods for hard disk drives and hybrid drives |
CN106462504B (zh) | 2013-10-21 | 2023-09-01 | Flc环球有限公司 | 最终级高速缓存系统和对应的方法 |
US9703699B2 (en) * | 2014-09-17 | 2017-07-11 | Kabushiki Kaisha Toshiba | Hybrid-HDD policy for what host-R/W data goes into NAND |
US10310734B2 (en) * | 2014-12-27 | 2019-06-04 | Intel Corporation | Tier mode for access operations to 3D memory |
US9696934B2 (en) * | 2015-02-12 | 2017-07-04 | Western Digital Technologies, Inc. | Hybrid solid state drive (SSD) using PCM or other high performance solid-state memory |
US20170060434A1 (en) | 2015-08-27 | 2017-03-02 | Samsung Electronics Co., Ltd. | Transaction-based hybrid memory module |
US9823875B2 (en) | 2015-08-31 | 2017-11-21 | LinkedIn Coporation | Transparent hybrid data storage |
US10037167B2 (en) * | 2015-09-11 | 2018-07-31 | Sandisk Technologies Llc | Multiple scheduling schemes for handling read requests |
-
2017
- 2017-06-21 KR KR1020170078437A patent/KR102319189B1/ko active IP Right Grant
-
2018
- 2018-01-02 US US15/860,511 patent/US10747680B2/en active Active
- 2018-06-20 CN CN201810637342.2A patent/CN109101434B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187879A (zh) * | 2007-12-27 | 2008-05-28 | 威盛电子股份有限公司 | 电子系统及其数据处理方法 |
KR20150139383A (ko) * | 2014-06-03 | 2015-12-11 | 에스케이하이닉스 주식회사 | 반도체 장치 |
Non-Patent Citations (1)
Title |
---|
Chao Sun,等.Latency Tails of Byte-Addressable Non-Volatile Memories in Systems.《2017 IEEE international memory workshop》.2017,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN109101434A (zh) | 2018-12-28 |
US10747680B2 (en) | 2020-08-18 |
KR102319189B1 (ko) | 2021-10-28 |
KR20180138336A (ko) | 2018-12-31 |
US20180373642A1 (en) | 2018-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109101434B (zh) | 存储装置、存储系统及所述存储装置的操作方法 | |
US10628319B2 (en) | Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same | |
US11150837B2 (en) | Method, device and system for processing sequential groups of buffered write data | |
US10310924B2 (en) | Storage device and read reclaim method thereof | |
US9418017B2 (en) | Hot memory block table in a solid state storage device | |
TWI587131B (zh) | 包含非揮發性記憶體元件之記憶體系統及其程式化方法 | |
TWI396081B (zh) | 快閃儲存器之部分頁面快取 | |
US20160179399A1 (en) | System and Method for Selecting Blocks for Garbage Collection Based on Block Health | |
US11630766B2 (en) | Memory system and operating method thereof | |
US20170017588A1 (en) | Storage region mapping for a data storage device | |
US20150120988A1 (en) | Method of Accessing Data in Multi-Layer Cell Memory and Multi-Layer Cell Storage Device Using the Same | |
CN110688324B (zh) | 固态驱动器及其存储器分配方法 | |
JP2012195047A (ja) | ページフラッグを有する不揮発性メモリ装置、それを含む駆動方法、及びメモリシステム | |
US10481816B2 (en) | Dynamically assigning data latches | |
US8775722B2 (en) | Storing data in parallel in a flash storage device using on chip page shifting between planes | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
US20220261171A1 (en) | Storage devices, data storage systems and methods of operating storage devices | |
JP2009110053A (ja) | メモリシステム | |
US11061769B2 (en) | Storage device selectively generating parity bits according to endurance of memory cell, and method thereof | |
US20200310986A1 (en) | Data storage device and operating method thereof, and storage system including the same | |
EP4053704B1 (en) | Storage controller redirecting write operation and operating method thereof | |
CN110908596A (zh) | 数据存储装置、其操作方法和包括存储装置的存储系统 | |
US11243718B2 (en) | Data storage apparatus and operation method i'hereof | |
US11055011B2 (en) | Storage device | |
US11640336B2 (en) | Fast cache with intelligent copyback |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |