CN112905502A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN112905502A CN112905502A CN202010676280.3A CN202010676280A CN112905502A CN 112905502 A CN112905502 A CN 112905502A CN 202010676280 A CN202010676280 A CN 202010676280A CN 112905502 A CN112905502 A CN 112905502A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory device
- controller
- logical address
- device group
- 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.)
- Withdrawn
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
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- 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
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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
- 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/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/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/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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
- G06F13/1673—Details of memory controller using buffers
-
- 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/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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
-
- 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/1048—Scalability
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及一种电子装置。根据本公开的具有提高的容量可扩展性的存储装置包括第一存储器控制器和第二存储器控制器。第一存储器控制器与主机通信并控制第一存储器装置组。第二存储器控制器与第一存储器控制器通信并控制第二存储器装置组。第一存储器控制器基于第一地址映射方法控制第一存储器装置组,并且基于与第一地址映射方法不同的第二地址映射方法通过第二存储器控制器控制第二存储器装置组。
Description
相关申请的交叉引用
本申请要求于2019年12月4日提交的申请号为10-2019-0160068的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开涉及一种电子装置,更特别地,涉及一种存储装置及其操作方法。
背景技术
存储装置在诸如计算机或智能电话的主机装置的控制下存储数据。存储装置可以包括存储数据的存储器装置和控制该存储器装置的存储器控制器。该存储器装置可以是易失性存储器装置或非易失性存储器装置。
易失性存储器装置仅在供应电力时存储数据,在电力供应切断时丢失存储的数据。易失性存储器装置的示例包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
即使电力被切断,非易失性存储器装置也不会丢失数据。非易失性存储器装置的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器等。
发明内容
本公开的实施例提供了一种具有提高的容量可扩展性的存储装置及其操作方法。
一种根据本公开的实施例的存储装置,包括第一存储器控制器和第二存储器控制器。第一存储器控制器与主机通信并控制第一存储器装置组。第二存储器控制器与第一存储器控制器通信并控制第二存储器装置组。第一存储器控制器基于第一地址映射方法控制第一存储器装置组,并且基于与第一地址映射方法不同的第二地址映射方法通过第二存储器控制器控制第二存储器装置组。
一种存储器控制器,该存储器控制器控制第一存储器装置组并通过子控制器控制第二存储器装置组,包括映射数据管理器和操作控制器。映射数据管理器存储与第一存储器装置组对应的第一映射表和与第二存储器装置组对应的第二映射表。操作控制器根据从主机接收到的请求生成命令,并且基于从主机提供的逻辑地址将命令提供到第一存储器装置组或子存储器控制器。第一映射表和第二映射表由不同的映射单位来配置。
一种存储装置,包括:一个或多个第一存储器装置,该一个或多个第一存储器装置中的每一个以页面为单位执行操作;一个或多个第二存储器装置,该一个或多个第二存储器装置中的每一个以存储区(zone)为单位执行操作;第一控制器,该第一控制器被配置成:通过将第一逻辑地址转换为指示第一存储器装置内的页面的第一物理地址,控制第一存储器装置中的一个根据第一物理地址执行操作;并且通过将第二逻辑地址转换为指示第二存储器装置中的一个内的存储区的第二物理地址,生成具有第二物理地址的命令;以及第二控制器,该第二控制器被配置成响应于该命令,控制第二存储器装置以根据第二物理地址执行操作,其中存储区是比页面更大的单位。
根据本公开,提供了具有提高的容量可扩展性的存储装置及其操作方法。
附图说明
图1是用于描述根据本公开的实施例的存储装置的示图。
图2是用于描述诸如图1的存储器装置的结构的示图。
图3是用于描述控制多个存储器装置的存储器控制器的操作的示图。
图4A是用于描述根据实施例的存储装置的配置和操作的示图。
图4B是用于描述根据实施例的存储装置的配置和操作的示图。
图5是用于描述根据实施例的诸如图4A的存储装置的结构的示图。
图6是用于描述根据另一实施例的诸如图4A的存储装置的结构的示图。
图7是用于描述根据实施例的映射表的示图。
图8是用于描述根据另一实施例的映射表的示图。
图9是用于描述诸如图4A的存储装置的操作的流程图。
图10是用于描述根据实施例的诸如图4A的存储装置的操作的流程图。
图11是用于描述根据另一实施例的诸如图4A的存储装置的操作的流程图。
图12是用于描述诸如图1的存储器控制器的另一实施例的示图。
图13是示出应用了根据本公开的实施例的存储装置的存储卡系统的框图。
图14是示出应用了根据本公开的实施例的存储装置的固态驱动器(SSD)系统的框图。
图15是示出应用了根据本公开的实施例的存储装置的用户系统的框图。
具体实施方式
在下文中,参照附图描述本发明的实施例。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
图1是用于描述根据本公开的实施例的存储装置的示图。
参照图1,存储装置50可以包括存储器装置100的一个或多个实例以及控制存储器装置的操作的存储器控制器200的一个或多个实例。然而,为清楚起见,在图1中仅示出了一个存储器装置100和一个存储器控制器200。存储装置50可以在诸如蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统的主机300的控制下存储数据。
根据作为与主机300的通信方法的主机接口,存储装置50可以被配置为各种类型的存储装置。例如,存储装置50可以被配置为:SSD,MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡,和/或记忆棒。
存储装置50可以被制造为各种类型的封装中的任意一种。例如,存储装置50可以被制造为堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和/或晶圆级堆叠封装(WSP)。
存储器装置100可以存储数据。存储器装置100在存储器控制器200的控制下操作。存储器装置100可以包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元。
存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
存储器单元阵列可包括多个存储块。每个存储块可以包括多个存储器单元。一个存储块可包括多个页面。在实施例中,页面可以是用于将数据存储在存储器装置100中或读取存储在存储器装置100中的数据的单位。
存储块可以是用于擦除数据的单位。在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功耗DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,通过示例的方式,在存储器装置100是NAND闪速存储器的背景下描述本发明的特征和方面。
存储器装置100被配置成从存储器控制器200接收命令和地址,并访问由存储器单元阵列的地址选择的区域。也就是说,存储器装置100可以对由地址选择的区域执行由命令指示的操作。例如,存储器装置100可以执行写入操作(编程操作)、读取操作和擦除操作。在编程操作期间,存储器装置100可以将数据编程到由地址选择的区域。在读取操作期间,存储器装置100可以从由地址选择的区域中读取数据。在擦除操作中,存储器装置100可以擦除存储在由地址选择的区域中的数据。
存储器控制器200控制存储装置50的全部操作。
当向存储装置50供应电力时,存储器控制器200可以执行固件FW。当存储器装置100是闪速存储器装置时,存储器控制器200可以操作诸如闪速转换层(FTL)的固件,用于控制主机和存储器装置100之间的通信。
在实施例中,存储器控制器200可以从主机接收数据和逻辑块地址(LBA),并且将逻辑块地址(LBA)转换为指示其中待存储存储器装置100中包括的数据的存储器单元的地址的物理块地址(PBA)。
存储器控制器200可以响应于来自主机的请求来控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以向存储器装置100提供写入命令、物理块地址和数据。在读取操作期间,存储器控制器200可以向存储器装置100提供读取命令和物理块地址。在擦除操作期间,存储器控制器200可以向存储器装置100提供擦除命令和物理块地址。
在实施例中,存储器控制器200可以生成命令、地址和数据并将其传输到存储器装置100,而不管来自主机的请求。例如,存储器控制器200可以将命令、地址和数据提供到存储器装置100,以执行后台操作,诸如用于耗损均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储器控制器200可以控制至少两个存储器装置100。在这种情况下,存储器控制器200可以根据交织方法来控制存储器装置100,以提高操作性能。交织方法可以包括操作多个存储器装置100以在重叠的时间段内执行操作。
主机可以使用诸如以下的各种通信方法中的至少一种来与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和/或低负载DIMM(LRDIMM)。
图2是用于描述图1的存储器装置的结构的示图。
参照图2,存储器装置100可包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110包括通过行线RL连接到地址解码器121的多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过位线BL1至BLm连接到读取和写入电路123。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元。多个存储器单元之中连接到相同字线的存储器单元被定义为一个物理页面。也就是说,存储器单元阵列110由多个页面配置。根据本公开的实施例,存储器单元阵列110中包括的多个存储块BLK1至BLKz中的每一个可以包括多个虚设单元。至少一个虚设单元可以串联连接在漏极选择晶体管和存储器单元之间以及源极选择晶体管和存储器单元之间。
存储器装置100的存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
外围电路120可以包括地址解码器121、电压生成器122、读取和写入电路123、数据输入/输出电路124和感测电路125。
外围电路120驱动存储器单元阵列110。例如,外围电路120可以驱动存储器单元阵列110,以执行编程操作、读取操作和擦除操作。
地址解码器121通过行线RL连接到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和公共源极线。根据本公开的实施例,字线可以包括正常字线和虚设字线。根据本公开的实施例,行线RL可以进一步包括管道选择线。
地址解码器121被配置成响应于控制逻辑130的控制而操作。地址解码器121从控制逻辑130接收行地址RADD。
地址解码器121被配置成对行地址ADDR的块地址进行解码。地址解码器121根据经解码的块地址在存储块BLK1至BLKz之中选择至少一个存储块。地址解码器121可以通过根据经解码的行地址RADD将从电压生成器122供应的电压施加到至少一个字线来选择所选择存储块的至少一个字线。
在编程操作期间,地址解码器121可以将编程电压施加到所选择字线,并将具有低于编程电压的电平的通过电压施加到未选择字线。在编程验证操作期间,地址解码器121可以将验证电压施加到所选择字线,并且将具有大于验证电压的电平的验证通过电压施加到未选择字线。
在读取操作期间,地址解码器121可以将读取电压施加到所选择字线,并且将大于所施加的读取电压的读取通过电压施加到未选择字线。
根据本公开的实施例,以存储块为单位执行存储器装置100的擦除操作。在擦除操作期间输入到存储器装置100的地址ADDR包括块地址。地址解码器121可以对块地址进行解码,并根据经解码的块地址选择一个存储块。在擦除操作期间,地址解码器121可以将接地电压施加到输入到所选择存储块的字线。
根据本公开的实施例,地址解码器121可以被配置成对传送的地址ADDR的列地址进行解码。经解码的列地址可以被传送到读取和写入电路123。作为示例,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器的组件。
电压生成器122被配置成通过使用提供到存储器装置100的外部电源电压来生成多个操作电压Vop。电压生成器122响应于控制逻辑130的控制而操作。
作为示例,电压生成器122可以通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压用作存储器装置100的操作电压。
在实施例中,电压生成器122可以使用外部电源电压或内部电源电压来生成多个操作电压Vop。电压生成器122可以被配置成生成存储器装置100所需的各种电压。例如,电压生成器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个未选择读取电压。
为了生成具有各种电压电平的多个操作电压Vop,电压生成器122可以包括接收内部电压的多个泵浦电容器,并且选择性地激活多个泵浦电容器以生成多个操作电压Vop。
多个生成的操作电压Vop可以由地址解码器121提供到存储器单元阵列110。
读取和写入电路123包括分别通过第一至第m位线BL1至BLm连接到存储器单元阵列110的第一至第m页面缓冲器PB1至PBm。第一至第m页面缓冲器PB1至PBm响应于控制逻辑130的控制而操作。
第一至第m页面缓冲器PB1至PBm与数据输入/输出电路124通信数据DATA。在编程时,第一至第m页面缓冲器PB1至PBm通过数据输入/输出电路124和数据线DL接收待存储的数据DATA。
在编程操作期间,当将编程电压施加到所选择字线时,第一至第m页面缓冲器PB1至PBm可以通过位线BL1至BLm将待存储的数据DATA,即通过数据输入/输出电路124接收到的数据DATA,传送到所选择存储器单元。根据所传送的数据DATA对所选择页面的存储器单元进行编程。连接到施加了编程许可电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。可以保持连接到施加了编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压。在编程验证操作期间,第一至第m页面缓冲器PB1至PBm通过位线BL1至位线BLm从所选择存储器单元读取存储器单元中存储的数据DATA。
在读取操作期间,读取和写入电路123可以通过位线BL从所选择页面的存储器单元读取数据DATA,并将所读取的数据DATA存储在第一至第m页面缓冲器PB1至PBm中。
在擦除操作期间,读取和写入电路123可以使位线BL浮置。在实施例中,读取和写入电路123可以包括列选择电路。
数据输入/输出电路124通过数据线DL连接到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124响应于控制逻辑130的控制而操作。
数据输入/输出电路124可以包括接收输入数据DATA的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124从外部控制器(未示出)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124将从读取和写入电路123中包括的第一至第m页面缓冲器PB1至PBm传送的数据输出到外部控制器。
在读取操作或验证操作期间,感测电路125可以响应于由控制逻辑130生成的许可位VRYBIT的信号来生成参考电流,并且可以将从读取和写入电路123接收到的感测电压VPB与由参考电流生成的参考电压进行比较,以将通过信号或失败信号输出到控制逻辑130。
控制逻辑130可以连接到地址解码器121、电压生成器122、读取和写入电路123、数据输入/输出电路124和感测电路125。控制逻辑130可以被配置成控制存储器装置100的全部操作。控制逻辑130可以响应于从外部装置传送的命令CMD而操作。
控制逻辑130可以响应于命令CMD和地址ADDR而生成各种信号以控制外围电路120。例如,控制逻辑130可以响应于命令CMD和地址ADDR生成操作信号OPSIG、行地址RADD、读取和写入电路控制信号PBSIGNALS以及允许位VRYBIT。控制逻辑130可以将操作信号OPSIG输出到电压生成器122,将行地址RADD输出到地址解码器121,将读取和写入控制信号输出到读取和写入电路123,并将允许位VRYBIT输出到感测电路125。此外,控制逻辑130可以响应于感测电路125输出的通过信号或失败信号PASS/FAIL来确定验证操作是通过还是失败。
图3是用于描述控制多个存储器装置的存储器控制器的操作的示图。
参照图3,存储器控制器200可以通过第一通道CH1和第二通道CH2连接到多个存储器装置(存储器装置_11至存储器装置_24)。通道的数量或连接到每个通道的存储器装置的数量不限于本实施例。存储器装置中的每一个可以是管芯(例如,Die_11至Die_24)。
存储器装置_11、存储器装置_12、存储器装置_13和存储器装置_14可以共同连接到第一通道CH1。存储器装置_11、存储器装置_12、存储器装置_13和存储器装置_14可以通过第一通道CH1与存储器控制器200通信。
由于存储器装置_11、存储器装置_12、存储器装置_13和存储器装置_14共同连接到第一通道CH1,因此一次仅一个存储器装置可以与存储器控制器200通信。然而,存储器装置_11、存储器装置_12、存储器装置_13和存储器装置_14中的每一个可以同时执行内部操作。
存储器装置_21、存储器装置_22、存储器装置_23和存储器装置_24可以共同连接到第二通道CH2。存储器装置_21、存储器装置_22、存储器装置_23和存储器装置_24可以通过第二通道CH2与存储器控制器200通信。
由于存储器装置_21、存储器装置_22、存储器装置_23和存储器装置_24共同连接到第二通道CH2,因此一次仅一个存储器装置可以与存储器控制器200通信。然而,存储器装置_21、存储器装置_22、存储器装置_23和存储器装置_24中的每一个可以同时执行内部操作。
使用多个存储器装置的存储装置可以通过使用数据交织来提高性能,数据交织是使用交织方法的数据通信。通过配置系统以使两种或多种方式共享一个通道,数据交织可以用于执行数据读取或写入操作。对于数据交织,可以以连接到相同通道和通路的那些为单位来管理存储器装置。为了使连接到通道中的每一个的存储器装置的并行度最大化,存储器控制器200可以分配连续的逻辑存储器区域以沿通道和通路均匀地分布。
例如,存储器控制器200可以通过第一通道CH1将命令、包括地址的控制信号和数据传输到存储器装置_11。当存储器装置_11将所传输的数据编程到其中的存储器单元中时,存储器控制器200可以将命令、包括地址的控制信号和数据传输到存储器装置_12。
在图3中,可以配置多个存储器装置,使得存在四个通路WAY1至WAY4。第一通路WAY1可以包括存储器装置_11和存储器装置_21。第二通路WAY2可以包括存储器装置_12和存储器装置_22。第三通路WAY3可以包括存储器装置_13和存储器装置_23。第四通路WAY4可以包括存储器装置14和存储器装置_24。
通道CH1和CH2中的每一个可以是连接到相应通道的存储器装置共享和使用的信号总线。
图4A是用于描述根据实施例的存储装置的配置和操作的示图。
参照图4A,存储装置50可以包括多个存储器控制器和由每个存储器控制器控制的存储器装置组。
如参照图3所描述的,第一存储器装置组100_1可以包括通过通道连接到第一存储器控制器200_1的多个存储器装置。第二存储器装置组100_2可以包括通过通道连接到第二存储器控制器200_2的多个存储器装置。
第一存储器控制器200_1可以是与主机300通信并控制子控制器的主控制器,该子控制器可以是第二存储器控制器200_2。第一存储器控制器200_1可以控制第一存储器装置组100_1的操作。第一存储器控制器200_1可以通过第二存储器控制器200_2控制第二存储器装置组100_2的操作。例如,第一存储器控制器200_1可以根据主机300的请求来生成命令,并且将所生成的命令选择性地提供到第一存储器装置组100_1和第二存储器控制器200_2中的任意一个。第二存储器控制器200_2可以基于从第一存储器控制器200_1接收到的命令来控制第二存储器装置组100_2的操作。
第一存储器控制器200_1可以管理第一存储器装置组100_1的映射数据和第二存储器装置组100_2的映射数据。
具体地,第一存储器控制器200_1可以存储与第一存储器装置组100_1对应的第一映射表和与第二存储器装置组100_2对应的第二映射表。第一存储器控制器200_1可以通过不同的地址映射方法来管理第一映射表和第二映射表。第一映射表和第二映射表可以具有不同的映射单位。例如,第一映射表可以以页面为单位配置映射表的每个条目,第二映射表可以以存储区为单位配置映射表的每个条目。存储区可以是物理区域,其大小大于页面的大小。例如,存储区可以对应于至少两个页面。例如,存储区可以对应于单个块或一组块。与存储区对应的物理区域的大小可以是不同的。因此,第二映射表中的条目可以是一个或多个特定块。
第一存储器控制器200_1可以从主机300接收请求和逻辑地址。请求可以是读取请求或写入请求。第一存储器控制器200_1可以根据主机300的请求确定第一存储器装置组100_1和第二存储器装置组100_2中的哪一个执行操作。
具体地,第一存储器控制器200_1可以基于从主机300接收到的逻辑地址来选择存储器装置组以执行写入操作。
在实施例中,可以设置与每个存储器装置组对应的逻辑地址范围。第一逻辑地址范围可以对应于第一存储器装置组100_1,并且第二逻辑地址范围可以对应于第二存储器装置组100_2。
当从主机300接收到的逻辑地址在第一逻辑地址范围内时,第一存储器控制器200_1可以根据主机300的请求控制第一存储器装置组100_1执行操作。当逻辑地址在第二逻辑地址范围内时,第一存储器控制器200_1可以根据主机300的请求控制第二存储器控制器200_2,使得第二存储器装置组100_2执行写入操作。
在另一实施例中,第一存储器控制器200_1可以基于与写入请求一起提供的逻辑地址来确定从主机300输入的数据是随机写入数据还是顺序写入数据。当从主机300输入的数据是随机写入数据时,第一存储器控制器200_1可以根据主机300的请求控制第一存储器装置组100_1执行操作。当输入数据是顺序写入数据时,第一存储器控制器200_1可以根据主机300的请求控制第二存储器控制器200_2,使得第二存储器装置组100_2执行写入操作。
第一存储器控制器200_1可以基于从主机300接收到的逻辑地址来选择存储器装置组以执行读取操作。第一存储器控制器200_1可以控制与包括接收到的逻辑地址的映射表对应的存储器装置组以执行读取操作。
例如,当第一映射表包括接收到的逻辑地址时,第一存储器控制器200_1可以根据接收到的请求控制第一存储器装置组100_1执行读取操作。当第二映射表包括接收到的逻辑地址时,第一存储器控制器200_1可以根据接收到的请求控制第二存储器控制器200_2,使得第二存储器装置组100_2执行读取操作。第二存储器控制器200_2可以是通过第一存储器控制器200_1与主机300通信的子控制器。第二存储器控制器200_2可以基于从第一存储器控制器200_1接收到的命令来控制第二存储器装置组100_2的操作。
在图4A中,存在一个主控制器和一个子控制器,但是存储装置50不限于这种布置。在各个实施例中,多个子控制器可以连接到一个主控制器。
参照图3,当仅一个存储器控制器200与主机300通信时,可以限定可以通过通道连接到存储器控制器200的存储器装置的数量。另外,随着连接到一个通道的存储器装置的数量增加,存储装置的性能可能由于总线带宽的限制而下降。因此,当仅使用一个存储器控制器时,在存储装置的存储容量扩展方面可能存在限制。
相反,根据本公开的实施例,通过经由多个控制器控制存储器装置,可以容易地实现存储装置的容量扩展而不降低存储装置的性能。随着控制器数量的增加,存储装置的总存储容量也可能会增加而不增加连接到一个通道的存储器装置的数量。
为此,存储装置可以包括与主机通信的主控制器和通过主控制器与主机通信的子控制器,并且主控制器和子控制器可以以级联结构连接。在实施例中,每个控制器和由该控制器控制的存储器装置组可以被设计在片上系统(SoC)结构中。
根据本公开的实施例,主控制器可以根据主机300的请求生成命令,并且可以将命令提供到由主控制器控制的存储器装置组或子控制器。另外,主控制器可以管理存储装置中包括的每个存储器装置组的映射数据。子控制器可以基于从主控制器接收到的命令来控制直接连接的存储器装置组。
主控制器可以以不同的地址映射方法来管理由每个控制器控制的存储器装置组。例如,主控制器可以以页面为单位管理由主控制器控制的存储器装置组的映射表,并且可以以存储区为单位管理由子控制器控制的存储器装置组的映射表。
主控制器可以根据从主机300接收到的逻辑地址是否包括在设置的逻辑地址范围内,控制与逻辑地址范围对应的存储器装置组根据主机300的请求执行操作。
另外,主控制器可以基于从主机300接收到的逻辑地址来确定从主机300输入的数据是随机写入数据还是顺序写入数据。主控制器可以控制由主控制器直接控制的存储器装置组以存储随机写入数据,并且可以控制由子控制器控制的存储器装置组以存储顺序写入数据。也就是说,可以将预期频繁访问的数据存储在由主控制器控制的存储器装置组中,并且可以将大容量数据存储在由子控制器控制的存储器装置组中。
通过这种方法,可以有效地执行主机300与存储装置50之间的数据输入/输出操作以及存储装置50的数据和映射数据的管理操作。另外,通过增加连接到主控制器的子控制器的数量,而不是增加通过一个通道连接到存储器控制器的存储器装置的数量,可有效地扩展存储容量,而不会由于总线带宽的限制而降低存储装置的性能。
图4B是用于描述根据实施例的存储装置的配置和操作的示图。
参照图4B,存储装置50可以包括多个存储器控制器和由每个存储器控制器控制的存储器装置组。
第一存储器控制器200_1、第二存储器控制器200_2、第一存储器装置组100_1和第二存储器装置组100_2如参照图4A所描述。
在实施例中,一个主控制器可以控制至少一个子控制器。具体地,主控制器可以通过相应的子控制器来控制由每个子控制器控制的存储器装置组。
在图4B中,作为主控制器的第一存储器控制器200_1可以控制作为子控制器的第二至第n(n是等于或大于2的自然数)存储器控制器200_2至200_n。第二至第n存储器控制器200_2至200_n可以分别控制第二至第n存储器装置组100_2至100_n。第一存储器控制器200_1可以直接控制第一存储器装置组100_1。
在实施例中,可以以不同的地址映射方法来管理由主控制器控制的存储器装置组和由子控制器控制的存储器装置组。
例如,可以以相同的地址映射方法来管理第二至第n存储器装置组100_2至100_n。可以以与第二至第n存储器装置组100_2至100_n的地址映射方法不同的地址映射方法来管理第一存储器装置组100_1。第一存储器控制器100_1可以存储第一至第n映射表。第一映射表可以通过第一映射方法来管理。第二到第n映射表可以通过第二映射方法来管理。第一映射方法和第二映射方法具有不同的映射单位大小。在实施例中,第二至第n映射表可以通过每种相应的映射方法来管理。
如参照图4A所述来配置和操作每个子控制器。
图5是用于描述根据实施例的图4A的存储装置的结构的示图。
参照图5,第一存储器控制器200_1可以包括主机接口210、闪存控制器220_1、存储器接口230_1、芯片接口240_1和存储器缓冲器250_1。
主机接口210可以执行与主机300和第一存储器控制器200_1的通信。闪存控制器220_1可以控制第一存储器控制器200_1的全部操作和第一存储器装置组100_1的操作。闪存控制器220_1可以根据主机300的请求控制第一存储器装置组100_1执行操作。闪存控制器220_1可以根据主机300的请求控制第二存储器控制器200_2,使得第二存储器装置组100_2执行操作。闪存控制器220_1可以将由主机300生成的命令提供到第二存储器控制器200_2。
存储器接口230_1可以执行与第一存储器装置组100_1和第一存储器控制器200_1的通信。芯片接口240_1可以与芯片接口240_2通信,并且在第一存储器控制器200_1和第二存储器控制器200_2之间执行通信。存储器缓冲器250_1可以用作用于执行闪存控制器220_1的操作的存储器。存储器缓冲器250_1可以存储与第一存储器装置组100_1和第二存储器装置组100_2对应的映射数据。
第二存储器控制器200_2可以包括闪存控制器220_2、存储器接口230_2、芯片接口240_2和存储器缓冲器250_2。
闪存控制器220_2可以控制第二存储器控制器200_2的全部操作和第二存储器装置组100_2的操作。闪存控制器220_2可以基于从第一存储器控制器200_1接收到的命令来控制第二存储器装置组100_2的操作。存储器接口230_2可以执行与第二存储器装置组100_2和第二存储器控制器200_2的通信。芯片接口240_2可以与芯片接口240_1通信。存储器缓冲器250_2可以用作用于执行闪存控制器220_2的操作的存储器。在各个实施例中,存储器缓冲器250_2可以存储附加映射表,用于从第一存储器控制器200_1接收到的存储区单位地址与第二存储器装置组100_2内部的页面单位地址之间的转换。
在图5中,第一存储器控制器200_1被示为主控制器,第二存储器控制器200_2被示为唯一的子控制器。然而,连接到主控制器的子控制器的数量不限于一个。
如参照图4B所描述的,当多个子控制器连接到一个主控制器时,每个子控制器的结构和操作可以相同。
图6是用于描述根据另一实施例的图4A的存储装置的结构的示图。
参照图6,主机300以及存储器装置组100_1和100_2如关于图4A所描述地进行配置和操作。因此,描述集中于第一存储器控制器400和第二存储器控制器500。第一存储器控制器400可以是主控制器,第二存储器控制器500可以是子控制器。
第一存储器控制器400的操作可以由图5的第一存储器控制器200_1来实施。第二存储器控制器500的操作可以由图5的第二存储器控制器200_2来实施。
第一存储器控制器400可以包括操作控制器410和映射数据管理器420。
操作控制器410可以从主机300接收与写入操作相关联的请求REQ、地址ADDR和数据DATA。操作控制器410可以响应于与读取操作相关联的请求REQ而将数据DATA提供到主机300。
操作控制器410可以从主机300接收用于将数据存储在存储器装置组100_1和100_2中的写入请求。操作控制器410可以从主机300接收写入请求、写入数据以及待在其中存储写入数据的逻辑地址。操作控制器410可以根据写入请求来生成写入命令。
操作控制器410可以基于逻辑地址选择存储器装置组以根据写入命令执行写入操作。操作控制器410可以将写入命令和写入数据提供到所选择的存储器装置组。
在实施例中,当逻辑地址包括在第一逻辑地址范围内时,操作控制器410可以将写入命令和写入数据提供到第一存储器装置组100_1。当逻辑地址包括在第二逻辑地址范围内时,操作控制器410可以将写入命令和写入数据提供到第二存储器控制器500。第二存储器控制器500可以基于从操作控制器410接收到的写入命令来控制第二存储器装置组100_2以存储写入数据。
在另一实施例中,当逻辑地址对应于随机写入数据时,操作控制器410可以将写入命令和写入数据提供到第一存储器装置组100_1。当逻辑地址对应于顺序写入数据时,操作控制器410可以将写入命令和写入数据提供到第二存储器控制器500。第二存储器控制器500可以基于从操作控制器410接收到的写入命令来控制第二存储器装置组100_2以存储写入数据。
操作控制器410可以从主机300接收用于读取存储器装置组100_1和100_2中存储的数据的读取请求。操作控制器410可以从主机300接收读取请求和存储待读取的数据的逻辑地址。操作控制器410可以根据读取请求来生成读取命令。
操作控制器410可以基于逻辑地址根据读取命令选择存储器装置组以执行读取操作。操作控制器410可以将读取命令提供到所选择的存储器装置组。
当逻辑地址包括在第一映射表中时,操作控制器410可以将读取命令提供到第一存储器装置组100_1。当逻辑地址包括在第二映射表中时,操作控制器410可以将读取命令提供到第二存储器装置组100_2。
操作控制器410可以响应于读取请求,将从根据读取命令执行读取操作的存储器装置组中获得的读取数据提供到主机300。
操作控制器410可以包括命令控制器411和地址确定器412。
命令控制器411可以根据从主机300接收到的请求REQ来生成命令并将命令进行排队。命令控制器411可以将根据由地址确定器412选择的存储器装置组生成的命令提供到第一存储器装置组100_1或第二存储器控制器500。例如,当选择第一存储器装置组100_1时,命令控制器411可以将生成的命令提供到第一存储器装置组100_1。当选择第二存储器装置组100_2时,命令控制器411可以将生成的命令提供到第二存储器控制器500。
地址确定器412可以基于从主机300接收到的逻辑地址,根据主机300的请求REQ来确定哪个存储器装置组执行操作。
在实施例中,可以设置与每个存储器装置组对应的逻辑地址范围。当逻辑地址包括在第一逻辑地址范围内时,地址确定器412可以选择第一存储器装置组100_1作为根据主机300的请求REQ执行操作的存储器装置组。当逻辑地址包括在第二逻辑地址范围内时,地址确定器412可以选择第二存储器装置组100_2作为根据主机300的请求REQ执行操作的存储器装置组。
在另一实施例中,地址确定器412可以基于接收到的逻辑地址来确定写入数据是随机写入数据还是顺序写入数据。当逻辑地址对应于随机写入数据时,地址确定器412可以选择第一存储器装置组100_1作为根据主机300的请求REQ执行操作的存储器装置组。当逻辑地址对应于顺序写入数据时,地址确定器412可以选择第二存储器装置组100_2作为根据主机300的请求REQ执行操作的存储器装置组。
映射数据管理器420可以存储和管理与存储器装置组100_1和100_2中的每一个对应的映射数据。例如,映射数据管理器420可以存储与第一存储器装置组100_1对应的第一映射表和与第二存储器装置组100_2对应的第二映射表。映射数据管理器420可以通过不同的地址映射方法来管理第一映射表和第二映射表。第一映射表的映射单位可以小于第二映射表的映射单位。例如,第一映射表可以以页面为单位配置每个条目,第二映射表可以以存储区为单位配置每个条目。可以根据映射数据管理策略来不同地设置存储区的大小。在实施例中,存储区可以是大于页面的物理区域。存储区的大小可以是设置的块的数量,即,一个块或一组块。
映射数据管理器420可以基于从主机300接收到的逻辑地址来生成映射数据。映射数据管理器420可以将基于逻辑地址转换的物理地址提供到存储器装置组或存储器控制器。
例如,映射数据管理器420可以从主机300接收逻辑地址以存储写入数据。当写入数据被存储在第一存储器装置组100_1中时,映射数据管理器420可以将基于写入数据待存储在第一存储器装置组100_1中的区域的逻辑地址和物理地址而生成的映射数据存储在第一映射表中。映射数据管理器420可以将写入数据待存储在其中的物理地址提供到第一存储器装置组100_1。当写入数据被存储在第二存储器装置组100_2中时,映射数据管理器420可以将基于写入数据待存储在第二存储器装置组100_2中的区域的逻辑地址和物理地址而生成的映射数据存储在第二映射表中。映射数据管理器420可以将写入数据待存储在其中的物理地址提供到第二存储器控制器500。
作为另一示例,映射数据管理器420可以从主机300接收逻辑地址,该逻辑地址指示存储请求读取的数据的存储区域。当读取存储在第一存储器装置组100_1中的数据时,映射数据管理器420可以将基于第一映射表中的逻辑地址转换的物理地址提供到第一存储器装置组100_1。当读取存储在第二存储器装置组100_2中的数据时,映射数据管理器420可以将基于第二映射表中的逻辑地址转换的物理地址提供到第二存储器控制器500。
第二存储器控制器500可以从操作控制器410接收命令和写入数据,并且可以从映射数据管理器420接收物理地址。第二存储器控制器500可以基于接收到的命令控制第二存储器装置组100_2以将数据存储在由物理地址指示的存储区域中。第二存储器控制器500可以基于接收到的命令控制第二存储器装置组100_2以读取由物理地址指示的存储区域中存储的数据。如参照图4B所描述的,当多个子控制器连接到一个主控制器时,每个子控制器的结构和操作可以相同。
图7是用于描述根据实施例的映射表的示图。
参照图6和图7,第一映射表421可以对应于由主控制器控制的第一存储器装置组100_1。第二映射表422可以对应于由子控制器控制的第二存储器装置组100_2。
在实施例中,可以设置与每个存储器装置组对应的逻辑地址范围。与第一存储器装置组100_1对应的第一逻辑地址范围可以是LBA1至LBA 1000。与第二存储器装置组100_2对应的第二逻辑地址范围可以是LBA 1001至LBA 2000。逻辑地址的范围不限于上述细节。
可以以不同的地址映射方法来管理第一映射表421和第二映射表422。在图6中,第一映射表421的逻辑地址可以以页面为单位进行映射。第二映射表422的逻辑地址可以以存储区为单位进行映射。
具体地,在第一映射表421中,页面单位的逻辑地址和物理地址可以逐个地相互映射。一个逻辑地址可以与一个物理地址映射,并且由一个物理地址指示的存储区域的大小可以对应于一个页面。例如,逻辑地址LBA 1可以与物理地址PBA 1映射。
在第二映射表422中,存储区单位的逻辑地址和物理地址可以彼此N对一地映射(N是等于或大于1的自然数)。在图7中,一个存储区可以与250个逻辑地址映射,这仅仅是示例。一个存储区可以与任意适当数量的逻辑地址映射。
如参照图4A所描述的,第一存储器装置组100_1可以以页面为单位物理地执行读取操作或编程操作,并且以块为单位物理地执行擦除操作。第一存储器装置组100_1可以使用页面单位映射方法。第二存储器装置组100_2可以以页面为单位物理地执行读取操作或编程操作,并且以块为单位物理地执行擦除操作。第二存储器装置组100_2可以使用存储区单位映射方法。
例如,第一存储器控制器200_1可以从主机300接收逻辑地址和读取请求。当接收到的逻辑地址包括在第一映射表中时,第一存储器控制器200_1可以向第一存储器装置组100_1提供与第一映射表中的逻辑地址对应的目标物理地址。
由于可以以页面为单位管理第一映射表,所以一个物理地址可以指示一个物理页面。第一存储器装置组100_1可以读取与每个目标物理地址对应的目标物理页面中存储的数据,并将读取的数据提供到第一存储器控制器200_1。第一存储器控制器200_1可以将从目标物理页面读取的数据提供到主机300。
例如,第一存储器控制器200_1可以从主机300接收逻辑地址和读取请求。当接收到的逻辑地址包括在第二映射表中时,第一存储器控制器200_1可以向第二存储器控制器200_2提供目标存储区的索引和偏移量。
目标存储区可以对应于第二映射表中的接收到的逻辑地址。可以基于逻辑地址的目标存储区的大小的划分来获得目标存储区的索引。例如,假设一个目标存储区可以包括250个物理页面,并且一个物理页面可以对应于一个逻辑页面,那么目标存储区的大小为250。当接收到的逻辑地址之中的第一逻辑地址为LBA 1277时,LBA 1277的商数(quotient)为5。商数5可以指示与第二映射表中的逻辑地址范围对应的逻辑存储区地址。因此,可以通过在第二映射表中搜索映射到逻辑存储区地址5的存储区的索引来获得目标存储区的索引。
可以通过利用逻辑地址的目标存储区的大小计算模数(mod)来获得偏移量。因此,通过利用LBA 1277的大小250计算模数来获得LBA 1277的偏移量,LBA 1277的偏移量为27。换言之,当第一存储器控制器200_1从主机接收到LBA 1277时,第一存储器控制器200_1向第二存储器控制器200_2提供针对LBA 1277的与第二映射表中的逻辑存储区地址5对应的目标存储区的索引和偏移量27。第二存储器控制器200_2可以控制第二存储器装置组100_2以读取目标存储区中包括的第27物理页面。
在实施例中,当一个存储区对应于一个存储块时,第二映射表中的映射方法可以是块映射方法。与存储区对应的物理区域的大小不限于该实施例。
第二存储器控制器200_2可以控制第二存储器装置以读取由目标存储区的索引指示的目标存储块。第二存储器装置组100_2可以顺序地读取由目标存储块中的偏移量所选择的区域中存储的数据,并且将读取的数据顺序地提供到第二存储器控制器200_2。第二存储器控制器200_2可以将从目标存储块读取的数据提供到第一存储器控制器200_1,并且第一存储器控制器200_1可以将读取的数据提供到主机300。
也就是说,因为存储区单位大于页面单位,所以将大小较大并且很少被读取和写入的顺序数据存储在第二存储装置组100_2中并且由存储区单位映射方法来管理可能是有利的。将大小较小且经常被读取和写入的随机数据存储在第一存储器装置组100_1中并且由页面单位映射方法来管理可能是有利的。
在实施例中,第一存储器控制器200_1可以从主机300接收写入数据和写入请求。当写入数据是随机数据时,写入数据可以存储在第一存储器装置组100_1中,并且可以由第一映射表中的页面单位映射方法来管理。当写入数据是顺序数据时,写入数据可以存储在第二存储器装置组100_2中,并且可以由第二映射表中的存储区单位映射方法来管理。
多个逻辑地址可以与一个物理存储区地址映射。
例如,第二逻辑地址范围LBA 1001至LBA 2000可以被划分为四个存储区。逻辑地址LBA 1001至LBA 1250可以与物理地址Zone 1映射。逻辑地址LBA 1251至LBA 1500可以与物理地址Zone 2映射。逻辑地址LBA 1501至LBA 1750可以与物理地址Zone 3映射。逻辑地址LBA 1751至LBA 2000可以与物理地址Zone 4映射。
在实施例中,当第一存储器控制器200_1从主机300接收逻辑地址和请求时,第一存储器控制器200_1可以向第二存储器控制器200_2提供目标存储区的索引和偏移量。可以通过在第二映射表中搜索映射到与逻辑地址范围对应的逻辑存储区地址的存储区的索引来获得目标存储区的索引。逻辑地址范围可以包括从主机300接收到的逻辑地址。可以通过利用从主机300接收到的逻辑地址的目标存储区的大小计算模数来获得偏移量。
当从主机300接收到的逻辑地址包括在第一逻辑地址范围LBA 1至LBA 1000中时,主控制器可以将基于逻辑地址生成的映射数据存储在第一映射表421中。当从主机300接收到的逻辑地址包括在第二逻辑地址范围LBA 1001至LBA 2000中时,主控制器可以将基于逻辑地址生成的映射数据存储在第二映射表422中。如参照图4B所描述的,当不止一个子控制器连接到一个主控制器时,可以为由每个子控制器控制的每个存储器装置组生成映射表。每个存储器装置组的映射表都存储在主控制器中,并由主控制器管理。可以通过相同的地址映射方法来管理与由任意子控制器控制的每个存储器装置组对应的映射表。可以通过不同的地址映射方法来管理与由主控制器控制的存储器装置组对应的映射表和与由子控制器控制的存储器装置组对应的映射表。
图8是用于描述根据另一实施例的映射表的示图。
参照图6和图8,第一映射表421可以对应于由主控制器控制的第一存储器装置组100_1。第二映射表422可以对应于由子控制器控制的第二存储器装置组100_2。
如参照图4B所描述的,当多个子控制器连接到一个主控制器时,可以为由每个子控制器控制的每个存储器装置组生成映射表。可以通过相同的地址映射方法来管理与存储器装置组对应的映射表。可以通过不同的地址映射方法来管理与由主控制器控制的存储器装置组对应的映射表和与由子控制器控制的存储器装置组对应的映射表。
如参照图7所述,可以通过不同的地址映射方法来管理第一映射表421和第二映射表422。在第一映射表421中,逻辑地址可以以页面为单位进行映射。在第二映射表422中,逻辑地址可以以存储区为单位进行映射。
主控制器可以基于从主机300接收到的长度(或连续逻辑地址的数量)来确定逻辑地址是对应于随机写入数据还是顺序写入数据。在图8中,当逻辑地址串的长度,即逻辑地址的数量等于或大于10时,主控制器可以确定逻辑地址对应于顺序写入数据。当逻辑地址串的长度小于10时,主控制器可以确定逻辑地址对应于随机写入数据。用于确定逻辑地址是随机写入数据还是顺序写入数据的逻辑地址串的具体长度不限于10;任何合适的长度都可以使用。
主控制器可以控制第一存储器装置组100_1以存储随机写入数据。主控制器可以控制子控制器,使得第二存储器装置组100_2存储顺序写入数据。这是为了将通常包括顺序写入数据的大量数据存储在由子控制器控制的存储器装置组中,因为可以通过增加连接到主控制器的子控制器的数量来获得扩展的存储容量。
当逻辑地址对应于随机写入数据时,主控制器可以将基于逻辑地址生成的映射数据存储在第一映射表421中。当逻辑地址对应于顺序写入数据时,主控制器可以将基于逻辑地址生成的映射数据存储在第二映射表422中。
例如,可以从主机300接收写入数据和逻辑地址LBA 1至LBA 3。由于逻辑地址串的长度是3,所以逻辑地址可以对应于随机写入数据。因此,可以将基于逻辑地址LBA 1至LBA3生成的映射数据存储在第一映射表421中。
可以从主机300接收写入数据和逻辑地址LBA 20至LBA 99。由于逻辑地址串的长度是80,因此逻辑地址可以对应于顺序写入数据。因此,可以将基于逻辑地址LBA 20至LBA99生成的映射数据存储在第二映射表422中。与逻辑地址LBA 20到LBA 99映射的物理地址可以是Zone 1。映射数据包括起始逻辑地址LBA 20、起始逻辑地址LBA 20的偏移量和逻辑地址串的长度80。基于Zone 1中的编程序列来确定起始逻辑地址LBA 20的偏移量。与LBA20对应的写入数据可以第1次编程在Zone 1中,因此起始逻辑地址LBA 20的偏移量为1。可以参考起始逻辑地址LBA 20的偏移量来计算LBA 21至LBA 99的偏移量。LBA 21至LBA 99的偏移量可以是2至80。
假设可以从主机300接收写入数据和逻辑地址LBA 130至LBA 150。由于逻辑地址串的长度是21,所以逻辑地址LBA 130至LBA 150可以对应于顺序写入数据。因此,可以将基于逻辑地址LBA 130至LBA 150生成的映射数据存储在第二映射表422中。与逻辑地址LBA130至LBA 150映射的物理地址可以是Zone 1。映射数据包括起始逻辑地址LBA 130、起始逻辑地址LBA 130的偏移量和逻辑地址串的长度21。基于Zone 1中的编程序列来确定起始逻辑地址LBA 130的偏移量。与LBA 130对应的写入数据可以被第81次编程在Zone 1中,因此起始逻辑地址LBA 130的偏移量为81。起始逻辑地址LBA 130的偏移量可以通过参考与第二映射表中的Zone 1对应的先前映射数据来获得。可以参考起始逻辑地址LBA 81的偏移量来计算LBA 131至LBA 150的偏移量。LBA 131至LBA 150的偏移量可以是82至101。
如参照图4A所描述的,在实施例中,当第一存储器控制器200_1从主机300接收逻辑地址和请求时,第一存储器控制器200_1可以向第二存储器控制器200_2提供目标存储区的索引和接收的逻辑地址的偏移量。可以基于接收到的逻辑地址的起始逻辑地址的偏移量和接收到的逻辑地址串的长度来计算偏移量。第二存储器控制器200_2可以控制第二存储器装置组100_2以读取由目标存储区中的偏移量选择的区域。
可以从主机300接收写入数据和逻辑地址LBA 200。由于逻辑地址串的长度是1,因此逻辑地址可以对应于随机写入数据。因此,可以将基于逻辑地址LBA 200生成的映射数据存储在第一映射表421中。
如图7和8所示,当根据逻辑地址包括在的逻辑地址范围将映射数据存储在特定映射表中时,根据逻辑地址是对应于随机写入数据还是顺序写入数据,将映射数据存储在特定映射表中。
图9是用于描述图4A的存储装置的操作的流程图。
参照图9,在步骤S901中,存储装置可以从主机接收请求、逻辑地址和数据。
例如,存储装置可以从主机接收写入请求、写入数据和待存储写入数据的逻辑地址。可选地,存储装置可以从主机接收读取请求和指示存储请求读取的数据的存储区域的逻辑地址。
在步骤S903中,可以在存储装置中的由不同存储器控制器控制的存储器装置组之中基于逻辑地址选择的存储器装置组中执行根据请求的操作。
例如,当逻辑地址包括在第一逻辑地址范围内时,可以在由主控制器控制的存储器装置组中执行操作,并且当逻辑地址包括在第二逻辑地址范围内时,可以在由子控制器控制的存储器装置组中执行操作。可选地,当逻辑地址对应于随机写入数据时,可以在由主控制器控制的存储器装置组中执行操作,并且当逻辑地址对应于顺序写入数据时,可以在由子控制器控制的存储器装置组中执行操作。
在步骤S905中,存储装置可以通过根据所选择的存储器装置组确定的映射方法来生成映射表。例如,当存储器装置组由主控制器控制时,存储装置可以以页面为单位生成映射表,并且当存储器装置组由子控制器控制时,存储装置可以以存储区为单位生成映射表。
图10是用于描述根据实施例的图4A的存储装置的操作的流程图。
参照图10,在步骤S1001中,存储装置可以从主机接收请求、逻辑地址和数据。存储装置可以包括主控制器、子控制器、由主控制器控制的第一存储器装置组以及由子控制器控制的第二存储器装置组。然而,存储装置中包括的控制器和存储器装置组的数量不限于该配置。
在步骤S1003中,存储装置可以确定接收到的逻辑地址是否包括在第一逻辑地址范围内。如果是,则进程进行到步骤S1005,并且当逻辑地址不包括在第一逻辑地址范围内而是包括在第二逻辑地址范围内时,进程进行到步骤S1009。第一逻辑地址范围可以对应于第一存储器装置组,并且第二逻辑地址范围可以对应于第二存储器装置组。
在步骤S1005中,可以在第一存储器装置组中执行根据主机的请求的操作。
在步骤S1007中,可以生成逻辑地址和物理地址根据第一映射方法相互映射的第一映射表。第一映射表可以对应于第一存储器装置组。第一映射方法可以是页面单位映射方法。
在步骤S1009中,可以在第二存储器装置组中执行根据主机的请求的操作。
在步骤S1011中,可以生成逻辑地址和物理地址根据第二映射方法相互映射的第二映射表。第二映射表可以对应于第二存储器装置组。第二映射方法可以是存储区单位映射方法。
图11是用于描述根据另一实施例的图4A的存储装置的操作的流程图。
参照图11,在步骤S1101中,存储装置可以从主机接收请求、逻辑地址和数据。存储装置可以包括主控制器、子控制器、由主控制器控制的第一存储器装置组以及由子控制器控制的第二存储器装置组。然而,存储装置中包括的控制器和存储器装置组的数量不限于该配置。
在步骤S1103中,存储装置可以确定接收到的逻辑地址是否对应于随机写入数据。作为确定的结果,当逻辑地址对应于随机写入数据时,进程进入步骤S1105,当逻辑地址对应于顺序写入数据时,进程进入步骤S1109。具体地,存储装置可以基于接收到的逻辑地址串的长度(连续逻辑地址的数量)来确定逻辑地址是否对应于随机写入数据。
在步骤S1105中,可以在第一存储器装置组中执行根据主机的请求的操作。
在步骤S1107中,可以生成逻辑地址和物理地址根据第一映射方法映射的第一映射表。第一映射表可以对应于第一存储器装置组。第一映射方法可以是页面单位映射方法。
在步骤S1109中,可以在第二存储器装置组中执行根据主机的请求的操作。
在步骤S1111中,可以生成逻辑地址和物理地址根据第二映射方法映射的第二映射表。第二映射表可以对应于第二存储器装置组。第二映射方法可以是存储区单位映射方法。
图12是用于描述图1的存储器控制器的另一实施例的示图。
参照图12,存储器控制器1000连接到主机和存储器装置。存储器控制器1000被配置成响应于来自主机的请求访问存储器装置,该主机可以是外部装置。例如,存储器控制器1000被配置成控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000被配置成提供存储器装置和主机之间的接口。存储器控制器1000被配置成驱动用于控制存储器装置的固件。
存储器控制器1000可以包括处理器1010、存储器缓冲器1020、错误校正器(ECC)1030、主机接口1040、缓冲器控制器1050、存储器接口1060和总线1070。
总线1070可以被配置成在存储器控制器1000的组件之间提供通道。
处理器1010可以控制存储器控制器1000的全部操作,并且可以执行逻辑操作。处理器1010可通过主机接口1040与主机通信,并且通过存储器接口1060与存储器装置通信。另外,处理器1010可以通过缓冲器控制器1050与存储器缓冲器1020通信。处理器1010可以使用存储器缓冲器1020作为操作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以通过闪存转换层(FTL)将主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。闪存转换层(FTL)可以使用映射表来接收逻辑块地址(LBA),并将逻辑块地址(LBA)转换为物理块地址(PBA)。闪存转换层的地址映射方法可以根据映射单位包括各种方法。代表性地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010被配置成使从主机接收到的数据随机化。例如,处理器1010可以使用随机化种子来使从主机接收到的数据随机化。经随机化的数据作为待存储的数据被提供到存储器装置,并且被编程到存储器单元阵列。
在读取操作期间,处理器1010被配置成使从存储器装置接收到的数据去随机化。例如,处理器1010可以使用去随机化种子使从存储器装置接收到的数据去随机化。经去随机化的数据可以被输出到主机。
在实施例中,处理器1010可以通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可以用作处理器1010的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010执行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
错误校正器1030可以执行错误校正。错误校正器1030可以基于待通过存储器接口1060写入存储器装置的数据来执行错误校正编码(ECC编码)。经错误校正编码的数据可以通过存储器接口1060传送到存储器装置。错误校正器1030可以对通过存储器接口1060从存储器装置接收到的数据执行错误校正解码(ECC解码)。例如,错误校正器1030可以作为存储器接口1060的组件被包括在存储器接口1060中。
主机接口1040被配置成在处理器1010的控制下与外部主机通信。主机接口1040可以被配置成使用诸如以下的各种通信方法中的至少一种来执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(高速PCI)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和/或低负载DIMM(LRDIMM)。
缓冲器控制器1050被配置成在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060被配置成在处理器1010的控制下与存储器装置通信。存储器接口1060可以通过通道与存储器装置通信命令、地址和数据。
在实施例中,存储器控制器1000可以不包括存储器缓冲器1020和缓冲器控制器1050。这些组件中的任一个或两个可以在存储器控制器1000的外部。可选地,这些组件中的任一个或两个的功能可以分布在存储器控制器1000的其他组件中。
例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000内部的非易失性存储器装置(例如,只读存储器)加载代码。作为另一示例,处理器1010可以通过存储器接口1060从存储器装置加载代码。
例如,存储器控制器1000的总线1070可以被划分为控制总线和数据总线。数据总线可以被配置成在存储器控制器1000内传输数据,控制总线可以被配置成在存储器控制器1000内传输诸如命令和地址的控制信息。数据总线和控制总线可以彼此分离,并且可以不相互干扰或影响。数据总线可以连接到主机接口1040、缓冲器控制器1050、错误校正器1030和存储器接口1060。控制总线可以连接到主机接口1040、处理器1010、缓冲器控制器1050、存储器缓冲器1020和存储器接口1060。
图13是示出应用了根据本公开的实施例的存储装置的存储卡系统的框图。
参照图13,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100连接到存储器装置2200。存储器控制器2100被配置成访问存储器装置2200。例如,存储器控制器2100可被配置成控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置成提供存储器装置2200和主机之间的接口。存储器控制器2100被配置成驱动用于控制存储器装置2200的固件。存储器控制器2100可以与参照图1描述的存储器控制器200相同地实施。
例如,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正器的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定的通信标准与外部装置(例如,主机)通信。例如,存储器控制器2100可以被配置成通过诸如以下的各种通信标准中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和/或NVMe。例如,连接器2300可以由上述各种通信标准中的至少一种来限定。
例如,存储器装置2200可以被配置为诸如以下的各种非易失性存储器装置中的任一种:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)、自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可以集成到一个半导体装置中以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、标准闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)和/或通用闪存(UFS)。
图14是示出应用了根据本公开的实施例的存储装置的固态驱动器(SSD)系统的框图。
参照图14,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD 3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源装置3230和缓冲存储器3240。
根据本公开的实施例,SSD控制器3210可以执行参照图1描述的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收到的信号SIG来控制多个闪速存储器3221至322n。例如,信号SIG可以基于主机3100和SSD 3200之间的接口。例如,信号SIG可以通过诸如以下的各种接口中的至少一种来限定:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和/或NVMe。
辅助电源装置3230通过电源连接器3002连接到主机3100。辅助电源装置3230可以从主机3100接收电力并且可以充电。当来自主机3100的电力供应不平稳时,辅助电源装置3230可以提供SSD 3200的电力。例如,辅助电源装置3230可以位于SSD 3200中或可以位于SSD 3200外部。例如,辅助电源装置3230可以位于主板上,并且可以向SSD 3200提供辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器操作。例如,缓冲存储器3240可以临时存储从主机3100接收到的数据或从多个闪速存储器3221至322n接收到的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图15是示出应用了根据本公开的实施例的存储装置的用户系统的框图。
参照图15,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动用户系统4000中包括的组件、操作系统(OS)、用户程序等。例如,应用处理器4100可以包括控制用户系统4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可作为片上系统(SoC)被提供。
存储器模块4200可以用作用户系统4000的主存储器、操作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRM、DDR3SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器,或诸如PRAM、ReRAM、MRAM和/或FRAM的易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可以被封装为堆叠封装(POP),并且可以作为一个半导体封装来提供。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、Wimax、WLAN、UWB、蓝牙和Wi-Fi的无线通信。例如,网络模块4300可以包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收到的数据。可选地,存储模块4400可以将存储模块4400中存储的数据传输到应用处理器4100。例如,存储模块4400可以被实施为诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存和/或三维NAND闪存的非易失性半导体存储器元件。例如,存储模块4400可以作为可移动存储装置(即,可移动驱动器)被提供,诸如存储卡或者用户系统4000的外部驱动器。
例如,存储模块4400可以包括多个非易失性存储器装置,非易失性存储器装置中的每一个可以以与参照图1描述的存储器装置相同的方式操作。存储模块4400可以与参照图1描述的存储装置50相同的方式操作。
用户接口4500可以包括用于将数据或指令输入到应用处理器4100或用于将数据输出到外部装置的接口。例如,用户接口4500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和显示器。
尽管已经示出和描述了本发明的各个实施例,但是如本领域技术人员根据本公开将理解的是,可以对公开的任意实施例进行各种修改和改变。因此,本发明包括落入权利要求及其等同方案范围内的所有这些改变和修改。
Claims (20)
1.一种存储装置,包括:
第一存储器控制器,与主机通信并控制第一存储器装置组;以及
第二存储器控制器,与所述第一存储器控制器通信并控制第二存储器装置组,
其中所述第一存储器控制器基于第一地址映射方法控制所述第一存储器装置组,并且基于与所述第一地址映射方法不同的第二地址映射方法通过所述第二存储器控制器控制所述第二存储器装置组。
2.根据权利要求1所述的存储装置,
其中所述第一存储器控制器存储与所述第一存储器装置组对应的第一映射表和与所述第二存储器装置组对应的第二映射表,并且
其中所述第一映射表和所述第二映射表由不同的映射单位来配置。
3.根据权利要求2所述的存储装置,其中所述第一存储器控制器从所述主机接收写入请求、数据和逻辑地址,并且控制基于逻辑地址选择的所述第一存储器装置组或所述第二存储器装置组以执行写入操作。
4.根据权利要求3所述的存储装置,其中当逻辑地址包括在第一逻辑地址范围内时,所述第一存储器控制器根据所述写入请求向所述第一存储器装置组提供写入命令,并且将基于数据待存储在所述第一存储器装置组中的区域的逻辑地址和物理地址而生成的映射数据存储在所述第一映射表中。
5.根据权利要求4所述的存储装置,其中当逻辑地址包括在与所述第一逻辑地址范围不同的第二逻辑地址范围内时,所述第一存储器控制器向所述第二存储器控制器提供所述写入命令,并且将基于所述数据待存储在所述第二存储器装置组中的区域的逻辑地址和物理地址而生成的映射数据存储在所述第二映射表中。
6.根据权利要求3所述的存储装置,其中当逻辑地址对应于随机写入数据时,所述第一存储器控制器根据所述写入请求向所述第一存储器装置组提供写入命令,并且将基于所述数据待存储在所述第一存储器装置组中的区域的逻辑地址和物理地址而生成的映射数据存储在所述第一映射表中。
7.根据权利要求6所述的存储装置,其中当逻辑地址对应于顺序写入数据时,所述第一存储器控制器将所述写入命令提供到所述第二存储器控制器,并且将基于所述数据待存储在所述第二存储器装置组中的区域的逻辑地址和物理地址而生成的映射数据存储在所述第二映射表中。
8.根据权利要求2所述的存储装置,其中所述第一存储器控制器从所述主机接收读取请求和逻辑地址,并且控制基于逻辑地址选择的所述第一存储器装置组或所述第二存储器装置组以执行读取操作。
9.根据权利要求8所述的存储装置,其中当逻辑地址包括在所述第一映射表中时,所述第一存储器控制器根据所述读取请求和与所述第一映射表中的逻辑地址映射的物理地址,将读取命令提供到所述第一存储器装置组。
10.根据权利要求8所述的存储装置,其中当逻辑地址包括在所述第二映射表中时,所述第一存储器控制器根据所述读取请求和与所述第二映射表中的逻辑地址映射的物理地址,将读取命令提供到所述第二存储器控制器。
11.根据权利要求2所述的存储装置,其中所述第一映射表由小于配置所述第二映射表的映射单位的映射单位来配置。
12.根据权利要求1所述的存储装置,其中所述第一存储器控制器包括:
主机接口,与所述主机通信;
存储器接口,与所述第一存储器装置组通信;
芯片接口,与所述第二存储器控制器通信;
闪存控制器,控制所述第一存储器装置组并通过所述第二存储器控制器控制所述第二存储器装置组;以及
存储器缓冲器,存储与所述第一存储器装置组和所述第二存储器装置组中的每一个对应的映射表,并且
其中所述第二存储器控制器包括:
芯片接口,与所述第一存储器控制器通信;
存储器接口,与所述第二存储器装置组通信;以及
闪存控制器,基于所述第一存储器控制器的控制来控制第二存储器装置组。
13.一种存储器控制器,控制第一存储器装置组并且通过子控制器控制第二存储器装置组,所述存储器控制器包括:
映射数据管理器,存储与所述第一存储器装置组对应的第一映射表和与所述第二存储器装置组对应的第二映射表;以及
操作控制器,根据从主机接收到的请求生成命令,并且基于从所述主机提供的逻辑地址将所述命令提供到所述第一存储器装置组或子存储器控制器,
其中所述第一映射表和所述第二映射表由不同的映射单位来配置。
14.根据权利要求13所述的存储器控制器,其中当所述请求是写入请求并且所述逻辑地址包括在所述第一逻辑地址范围内时,所述操作控制器向所述第一存储器装置组提供所述命令、从所述主机提供的数据以及数据待存储在所述第一存储器装置组中的区域的物理地址。
15.根据权利要求14所述的存储器控制器,其中当所述逻辑地址包括在与所述第一逻辑地址范围不同的第二逻辑地址范围内时,所述操作控制器向所述子控制器提供所述命令、数据以及数据待存储在所述第二存储器装置组中的区域的物理地址。
16.根据权利要求13所述的存储器控制器,其中当所述请求是写入请求并且所述逻辑地址对应于随机写入数据时,所述操作控制器向所述第一存储器装置组提供所述命令、从所述主机提供的数据以及数据待存储在所述第一存储器装置组中的区域的物理地址。
17.根据权利要求13所述的存储器控制器,其中当所述请求是写入请求并且所述逻辑地址对应于顺序写入数据时,所述操作控制器向所述子控制器提供所述命令、从所述主机接收到的数据以及数据待存储在所述第二存储器装置组中的区域的物理地址。
18.根据权利要求13所述的存储器控制器,其中当所述请求是读取请求时,所述操作控制器根据所述逻辑地址是包括在所述第一映射表还是所述第二映射表中,将所述命令提供到所述第一存储器装置组或所述子控制器。
19.根据权利要求13所述的存储器控制器,其中所述第一映射表由小于配置所述第二映射表的映射单位的映射单位来配置。
20.一种存储装置,包括:
一个或多个第一存储器装置,所述一个或多个第一存储器装置中的每一个以页面为单位执行操作;
一个或多个第二存储器装置,所述一个或多个第二存储器装置中的每一个以存储区为单位执行操作;
第一控制器,所述第一控制器:
通过将第一逻辑地址转换为指示所述第一存储器装置内的页面的第一物理地址,控制所述第一存储器装置中的一个根据所述第一物理地址执行操作;并且
通过将第二逻辑地址转换为指示所述第二存储器装置中的一个内的存储区的第二物理地址,生成具有所述第二物理地址的命令;以及
第二控制器,所述第二控制器响应于所述命令,控制所述第二存储器装置以根据所述第二物理地址执行操作,
其中所述存储区是比页面更大的单位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0160068 | 2019-12-04 | ||
KR1020190160068A KR20210070054A (ko) | 2019-12-04 | 2019-12-04 | 저장 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112905502A true CN112905502A (zh) | 2021-06-04 |
Family
ID=76110902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010676280.3A Withdrawn CN112905502A (zh) | 2019-12-04 | 2020-07-14 | 存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210173785A1 (zh) |
KR (1) | KR20210070054A (zh) |
CN (1) | CN112905502A (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11150842B1 (en) * | 2020-04-20 | 2021-10-19 | Western Digital Technologies, Inc. | Dynamic memory controller and method for use therewith |
US11429296B2 (en) * | 2020-06-01 | 2022-08-30 | Western Digital Technologies, Inc. | Storage system, host, and method for extended and imaginary logical-to-physical address mapping |
US11281399B2 (en) | 2020-06-24 | 2022-03-22 | Western Digital Technologies, Inc. | Dual-interface storage system and method for use therewith |
US11537526B2 (en) * | 2020-09-10 | 2022-12-27 | Micron Technology, Inc. | Translating of logical address to determine first and second portions of physical address |
US11836074B2 (en) * | 2020-10-07 | 2023-12-05 | Micron Technology, Inc. | Multiple flash translation layers at a memory device |
KR20220058224A (ko) * | 2020-10-30 | 2022-05-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이에 포함된 메모리 컨트롤러의 동작 방법 |
US11442665B2 (en) | 2020-12-04 | 2022-09-13 | Western Digital Technologies, Inc. | Storage system and method for dynamic selection of a host interface |
US12014073B2 (en) * | 2022-05-17 | 2024-06-18 | Micron Technology, Inc. | Techniques for sequential access operations |
CN117492664B (zh) * | 2023-12-29 | 2024-04-16 | 柏科数据技术(深圳)股份有限公司 | 一种源数据双控双活存储控制方法、系统、终端及介质 |
-
2019
- 2019-12-04 KR KR1020190160068A patent/KR20210070054A/ko unknown
-
2020
- 2020-05-28 US US16/886,242 patent/US20210173785A1/en not_active Abandoned
- 2020-07-14 CN CN202010676280.3A patent/CN112905502A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20210173785A1 (en) | 2021-06-10 |
KR20210070054A (ko) | 2021-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210173785A1 (en) | Storage device and method of operating the same | |
US11449417B2 (en) | Memory controller performing host-aware performance booster mode and method of operating the same | |
US11543986B2 (en) | Electronic system including host, memory controller and memory device and method of operating the same | |
CN111352855B (zh) | 具有提高的映射更新速度的存储装置及其操作方法 | |
CN111444115B (zh) | 存储装置及其操作方法 | |
CN111208937B (zh) | 存储器控制器及其操作方法 | |
CN114443507A (zh) | 存储器系统及其操作方法 | |
CN114860622A (zh) | 存储装置及操作存储装置的方法 | |
KR20210090439A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN114201414A (zh) | 存储装置及其操作方法 | |
CN114115708A (zh) | 存储装置及其操作方法 | |
CN114398295A (zh) | 存储装置及其操作方法 | |
CN114356209A (zh) | 存储装置及其操作方法 | |
CN113448892A (zh) | 存储器控制器及其操作方法 | |
CN112309446A (zh) | 存储设备和操作存储设备的方法 | |
US20220413753A1 (en) | Host device, storage device, and method of operating the same | |
KR20230139233A (ko) | 메모리 컨트롤러 및 그것의 동작 방법 | |
CN115469798A (zh) | 存储装置及操作存储装置的方法 | |
CN114968080A (zh) | 存储器控制器及操作存储器控制器的方法 | |
CN113126895A (zh) | 存储装置及其操作方法 | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same | |
US11928056B2 (en) | Memory controller for allocating cache lines and method of operating the same | |
US20240094945A1 (en) | Memory controller and memory system including the same | |
TW202316273A (zh) | 記憶體控制器及其操作方法 | |
TW202349203A (zh) | 計算系統及其操作方法 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210604 |