CN112148208B - 在休眠模式下传送存储器***的内部数据的设备和方法 - Google Patents
在休眠模式下传送存储器***的内部数据的设备和方法 Download PDFInfo
- Publication number
- CN112148208B CN112148208B CN201911374232.2A CN201911374232A CN112148208B CN 112148208 B CN112148208 B CN 112148208B CN 201911374232 A CN201911374232 A CN 201911374232A CN 112148208 B CN112148208 B CN 112148208B
- Authority
- CN
- China
- Prior art keywords
- host
- memory device
- internal data
- volatile memory
- sleep mode
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 510
- 238000000034 method Methods 0.000 title claims description 20
- 230000004044 response Effects 0.000 claims abstract description 74
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000012546 transfer Methods 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 description 38
- 238000007726 management method Methods 0.000 description 12
- 238000012937 correction Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 8
- 238000013519 translation Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 239000007787 solid Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- 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/0658—Controller construction 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/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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- 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/0284—Multiple user address space allocation, e.g. using different base addresses
-
- 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/0625—Power saving in storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- 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/0688—Non-volatile semiconductor memory arrays
-
- 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/1028—Power efficiency
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及一种存储器***。该存储器***可以包括:非易失性存储器装置;易失性存储器装置,在休眠模式下被暂停供电;以及控制器,该控制器被配置为将内部数据临时存储在易失性存储器装置中,该内部数据在非易失性存储器装置的操作的处理期间被生成。当存储器***从主机接收到休眠命令时,控制器可以响应于该休眠命令而将易失性存储器装置中存储的内部数据输出到主机,然后可以将进入休眠模式的确认传送到主机并进入休眠模式。
Description
相关申请的交叉引用
本申请要求于2019年6月28日提交的申请号为10-2019-0077806的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
说明性实施例涉及一种数据处理***,且更特别地,涉及一种将数据处理***中包括的存储器***的内部数据传送和存储到主机或计算装置中的设备和方法。
背景技术
近来,计算环境的范例已经转变为使计算机***几乎能够被随时随地访问的普适计算。因此,诸如移动电话、数码相机、笔记本计算机等的便携式电子装置的使用正在迅速增加。这种便携式电子装置通常使用或包括存储器***,该存储器***使用或嵌入至少一个存储器装置,即数据存储装置。数据存储装置可以用作便携式电子装置的主存储装置或辅助存储装置。
与硬盘不同,使用非易失性半导体存储器装置的数据存储装置的优点在于,由于该数据存储装置不具有机械驱动部件(例如,机械臂)因此具有优异的稳定性和耐用性,并且具有高数据访问速度和低功耗。在具有这种优点的存储器***的环境中,说明性数据存储装置包括USB(通用串行总线)存储器装置、具有各种接口的存储卡、固态驱动器(SSD)等。
发明内容
各个实施例涉及一种数据处理***,该数据处理***在数据处理***中的组件之间传送数据,该数据处理***包括诸如存储器***和主机的组件或资源。
而且,各个实施例涉及一种设备,当控制数据处理***中包括的存储器***进入休眠模式时,该设备将被暂停供电的存储器***的易失性存储器中存储的内部数据传送到主机,然后当从休眠模式退出时从主机接收内部数据,并将内部数据存储在存储器***的易失性存储器中,从而提高存储器***的操作性能。
本公开的技术客体不限于上述技术客体,并且基于以下描述,本公开所属领域的技术人员将清楚地理解本文中未描述的其他技术客体。
在实施例中,一种存储器***可以包括:非易失性存储器装置;易失性存储器装置,在休眠模式下被暂停供电;以及控制器,该控制器被配置为将内部数据临时存储在易失性存储器装置中,该内部数据在非易失性存储器装置的操作的处理期间被生成,当从主机接收到休眠命令时,控制器可以响应于该休眠命令而将易失性存储器装置中存储的内部数据输出到主机,然后可以将进入休眠模式的确认传送到主机并进入休眠模式。
当从主机接收到休眠命令时,控制器可以执行易失性存储器装置中存储的内部数据的大小与响应于休眠命令而可以一次传送的数据的大小的比较,并且可以基于比较的结果确定是否划分内部数据。
当比较的结果指示易失性存储器装置中存储的内部数据的大小超过响应于休眠命令而可以一次传送的数据的大小时,控制器可以将易失性存储器装置中存储的内部数据划分为N个数据部分,并且作为对休眠命令的响应可以将划分的内部数据从第一部分到第N部分顺序地输出到主机,然后可以将进入休眠模式的确认传送到主机并进入休眠模式,其中N可以是等于或大于2的自然数。
当比较的结果指示易失性存储器装置中存储的内部数据的大小超过响应于休眠命令可以一次传送的数据的大小时:控制器可以将易失性存储器装置中存储的内部数据划分为N个数据部分,其中N可以是等于或大于2的自然数,并且当N超过参考值时,控制器可以将易失性存储器装置中存储的内部数据编程到非易失性存储器装置中,并且可以将进入休眠模式的确认传送到主机并进入休眠模式。
控制器可以向主机发送确认请求,以确认是否允许响应于休眠命令而将易失性存储器装置中存储的内部数据传送到主机。
当主机响应于确认请求而确认允许控制器将内部数据传送到主机时,作为对休眠命令的响应,控制器可以将易失性存储器装置中存储的内部数据输出到主机,然后可以将进入休眠模式的确认传送到主机并可以进入休眠模式。
当主机响应于确认请求而未指示允许控制器将内部数据传送到主机时,控制器可以将易失性存储器装置中存储的内部数据编程到非易失性存储器装置,然后可以将进入休眠模式的确认传送到主机并可以进入休眠模式。
当从主机接收到包括内部数据的唤醒命令时,控制器可以退出休眠模式、可以向易失性存储器装置供电、可以将唤醒命令中包括的内部数据存储到易失性存储器装置中并且可以将退出休眠模式的确认传送到主机。
在实施例中,一种数据处理***可以包括:主机,该主机被配置为生成休眠命令和唤醒命令并输出所生成的命令;以及存储器***,该存储器***包括非易失性存储器装置和易失性存储器装置,该存储器***被配置为在休眠模式下暂停向易失性存储器装置供电并临时存储该易失性存储器装置中的内部数据,该内部数据在非易失性存储器装置的操作的处理期间被生成,当从主机接收到休眠命令时,存储器***可以响应于该休眠命令而将易失性存储器装置中存储的内部数据输出到主机,然后可以将进入休眠模式的确认传送到主机并进入休眠模式,并且主机可以在将休眠命令输出到存储器***的第一时间点和向存储器***发送唤醒命令的第二时间点之间,将从存储器***接收的内部数据存储在内部存储器中。
当从主机接收到休眠命令时,存储器***可以通过将易失性存储器装置中存储的内部数据的大小与响应于休眠命令而可以一次传送的数据的大小进行比较来确定是否划分内部数据。
当易失性存储器装置中存储的内部数据的大小超过响应于休眠命令而可以一次传送的数据的大小时,存储器***可以将易失性存储器装置中存储的内部数据划分为N个数据部分、可以响应于休眠命令而将划分的内部数据从第一部分到第N部分顺序地输出到主机然后可以将进入休眠模式的确认传送到主机并进入休眠模式,其中N可以是等于或大于2的自然数。
当易失性存储器装置中存储的内部数据的大小超过响应于休眠命令而可以一次传送的数据的大小时:存储器***可以将易失性存储器装置中存储的内部数据划分为N个数据部分,并且当N超过参考值时,存储器***可以将易失性存储器装置中存储的内部数据编程到非易失性存储器装置,然后可以将进入休眠模式的确认传送到主机并进入休眠模式。
响应于接收到休眠命令,存储器***可以向主机发送确认请求,以确认是否允许将易失性存储器装置中存储的内部数据传送到主机,并且当主机在第一时间点与接收进入休眠模式的确认之间从存储器***接收到确认请求时,主机:可以检查内部存储器的状态,可以根据检查结果确定是否允许存储器***将内部数据传送到主机,并且可以向存储器***传送指示是否允许存储器***将内部数据传送到主机的确认。
响应于指示允许存储器***将内部数据传送到主机的确认,作为对休眠命令的响应,存储器***可以将易失性存储器装置中存储的内部数据输出到主机,然后可以将进入休眠模式的确认传送到主机并可以进入休眠模式。
响应于指示不允许存储器***将内部数据传送到主机的确认,存储器***可以将易失性存储器装置中存储的内部数据编程到非易失性存储器装置,然后可以将进入休眠模式的确认传送到主机并可以进入休眠模式。
主机可以将内部存储器中存储的第二数据包括在唤醒命令中,并且可以将唤醒命令与第二数据一起输出到存储器***,当存储器***从主机接收到唤醒命令时,存储器***可以退出休眠模式、可以向易失性存储器装置供电、可以将唤醒命令中包括的第二数据存储到易失性存储器装置中并且可以将退出休眠模式的确认传送到主机。
在实施例中,一种存储器***的操作方法,该存储器***包括非易失性存储器装置和易失性存储器装置,该操作方法可以包括:从主机接收休眠命令;在接收到休眠命令之后,响应于休眠命令,将易失性存储器装置中存储的内部数据输出到主机,该内部数据是在非易失性存储器装置的操作的处理期间生成的数据;将进入休眠模式的确认传送到主机;并且在输出内部数据之后进入休眠模式,进入休眠模式可以包括暂停向易失性存储器装置供电。
输出内部数据可以包括:通过将第二易失性存储器装置中存储的内部数据的大小与响应于休眠命令而可以一次传送的数据的大小进行比较来确定是否划分内部数据;响应于确定划分内部数据:将第二易失性存储器装置中存储的内部数据划分为N个数据部分;当N小于参考值时,作为对休眠命令的响应将划分的内部数据从第一部分到第N部分输出到主机;当N超过参考值时,将易失性存储器装置中存储的内部数据编程到非易失性存储器装置。
该操作方法可以进一步包括:响应于接收休眠命令,确认是否允许将易失性存储器装置中存储的内部数据传送到主机;响应于主机指示允许存储器***将内部数据传送到主机,执行输出内部数据;并且当主机指示不允许存储器***将内部数据传送到主机时,将内部数据编程到非易失性存储器装置。
该操作方法可以进一步包括:响应于从主机接收唤醒命令:退出休眠模式,向易失性存储器装置供电,将唤醒命令中包括的内部数据存储到易失性存储器装置中,并且将退出休眠模式的确认传送到主机。
附图说明
图1示出根据实施例的数据处理***中的休眠模式进入和退出操作。
图2示出根据实施例的包括存储器***的数据处理***。
图3示出根据本实施例的数据处理***中的主机和存储器***的配置。
图4示出根据本实施例的数据处理***中的主机和存储器***的读取操作。
图5A、图5B、图5C、图5D和图5E示出根据本实施例的数据处理***中的休眠模式进入和退出操作。
具体实施方式
以下将参照附图更详细地描述各个实施例。然而,本发明可以以不同的形式实施并且不应该被解释为限于在本文中阐述的实施例。相反,提供这些实施例以使本公开将是彻底的和完整的,并且将向本领域技术人员充分传达本发明的范围。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
图1示出根据实施例的数据处理***中的休眠模式进入和退出操作。
参照图1,主机102和存储器***110可以彼此互连。主机102可以被理解为计算装置,并且以移动装置、计算机、服务器等的形式实施。与主机102互连的存储器***110可以从主机102接收命令,并且响应于所接收到的命令来存储或输出数据。
存储器***110可以包括非易失性存储器装置,该非易失性存储器装置包括非易失性存储器单元。例如,存储器***110可以以闪速存储器、固态驱动器(SSD)等的形式实施。
存储器***110可以包括临时存储在对非易失性存储器装置的操作的处理期间生成的内部数据INDATA的易失性存储器装置。例如,存储器***110可以生成作为内部数据INDATA的映射数据,该映射数据用于执行映射(诸如逻辑地址到物理地址映射)以将主机102使用的文件***连接到非易失性存储器装置的存储空间。此外,为了管理非易失性存储器装置的可靠性和寿命,存储器***110可以生成作为内部数据INDATA的读取/写入/擦除计数数据。
当在预定时间或更长时间内未计划对存储器***110执行写入或读取操作时,主机102可以请求存储器***110进入休眠模式,以减少存储器***110的电力消耗。
在实施例中,主机102可以生成休眠命令SLEEP COMMAND,并将休眠命令SLEEPCOMMAND传送到存储器***110,以请求存储器***110进入休眠模式。
在实施例中,当从主机102接收到休眠命令SLEEP COMMAND时,存储器***110可以响应于休眠命令SLEEP COMMAND而将存储器***110的易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA输出到主机102。此时,尽管未在图1中详细示出,但是存储器***110可以包括在休眠模式下被供电的第一易失性存储器和在休眠模式下被暂停供电的第二易失性存储器。因此,存储器***110可以响应于休眠命令SLEEP COMMAND而将第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA的第一部分输出到主机102,而不将第一易失性存储器装置中存储的内部数据INDATA的第二部分输出到主机102。
在实施例中,在将易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA输出到主机102之后,存储器***110可以通过将ACK SLEEP MODE ENTRY消息发送到主机102来确认进入休眠模式,然后进入休眠模式。当处于休眠模式时,存储器***110可以向其中的第一易失性存储器装置供电,并暂停向第二易失性存储器VOLATILE MEMORY2供电。此时,响应于进入休眠模式而被暂停供电的第二易失性存储器VOLATILE MEMORY2可能会丢失其中存储的内部数据INDATA的第一部分的全部,而被供电的第一易失性存储器装置可以保持其中存储的内部数据INDATA的第二部分。
在实施例中,当存储器***110处于休眠模式时,主机102可以将从存储器***110接收到的内部数据INDATA存储在主机102的内部存储器INTERNAL MEMORY中。
在实施例中,当主机102意图请求已经进入休眠模式的存储器***110退出休眠模式时,主机102可以生成唤醒命令WAKEUP COMMAND,并将唤醒命令WAKEUP COMMAND传送到存储器***110。主机102可以将内部存储器INTERNAL MEMORY中存储的内部数据INDATA包括在唤醒命令WAKEUP COMMAND中,并且将唤醒命令WAKEUP COMMAND与内部数据INDATA通信到存储器***110。
在实施例中,当存储器***110从主机102接收到唤醒命令WAKEUP COMMAND时,存储器***110可以退出休眠模式,并且向在休眠模式时间间隔已被暂停供电的第二易失性存储器VOLATILE MEMORY2供电。然后,存储器***110可以将已与唤醒命令WAKEUP COMMAND一起从主机102接收的内部数据INDATA存储在第二易失性存储器VOLATILE MEMORY2中,并且将从休眠模式退出的确认ACK SLEEP MODE EXIT传送到主机102。
参照图2,描述了根据本公开的实施例的数据处理***100。数据处理***100可以包括与存储器***110接合或与存储器***110一起操作的主机102。
例如,主机102可以包括诸如移动电话、MP3播放器、或膝上型计算机的便携式电子装置,或者诸如台式计算机、游戏机、电视(TV)、投影仪等的电子装置。
主机102可以包括至少一个操作***(OS),OS通常可以管理和控制在主机102中执行的功能和操作。OS可以提供与存储器***110接合的主机102和使用存储器***110的用户之间的互操作性。OS可以支持与用户请求对应的功能和操作。通过示例而非限制的方式,可以根据主机102的移动性将OS分类为通用操作***或移动操作***。根据***要求或用户环境,通用操作***可以是个人操作***或企业操作***。包括例如Windows和Chrome的个人操作***可以支持一般目的的服务。但是企业操作***可以专门用于保护和支持高性能,包括Windows servers、Linux、Unix等。进一步,移动操作***可以包括Android、iOS、Windows Mobile等。移动操作***可以支持用于移动性的服务或功能(例如,省电功能)。主机102可以包括多个操作***。主机102可以根据用户的要求执行与存储器***110互锁的多个操作***。主机102可以将与用户的请求对应的多个命令传送到存储器***110中,从而执行与存储器***110内的命令对应的操作。
存储器***110可以响应于来自主机102的请求而操作或者执行特定的功能或操作,并且特别地,可以存储待由主机102访问的数据。存储器***110可以用作主机102的主存储器***或辅助存储器***。根据主机接口的协议,存储器***110可以利用可与主机102电联接的各种类型的存储装置中的任意一种存储装置来实施。合适的存储装置的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型MMC、安全数字(SD)卡、迷你SD、微型SD、通用串行总线(USB)存储装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
存储器***110的存储装置可以利用例如动态随机存取存储器(DRAM)或静态RAM(SRAM)的易失性存储器装置,和/或诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)或闪速存储器的非易失性存储器装置来实施。
存储器***110可以包括控制器130和存储器装置150。存储器装置150可以存储待由主机102访问的数据。控制器130可以控制在存储器装置150中的数据的存储。
控制器130和存储器装置150可以被集成到单个半导体装置中,该单个半导体装置可以被包括在以上示例中所讨论的各种类型的存储器***中的任意一种存储器***中。
通过示例而非限制的方式,控制器130和存储器装置150可以集成到单个半导体装置中。控制器130和存储器装置150可以集成到SSD中;当将存储器***110用作SSD时,与如果将主机102连接到硬盘相比,可以提高连接到存储器***110的主机102的操作速度。控制器130和存储器装置150也可以集成到一个半导体装置中以形成诸如以下的存储卡:PC卡(PCMCIA)、紧凑型闪存卡(CF)、诸如智能媒体卡(SM、SMC)的存储卡、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC)、SD卡(SD、迷你SD、微型SD、SDHC)、通用闪速存储器等。
存储器***110可被配置成例如以下的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航***、黑盒子、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传送和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或配置计算***的各种组件之一。
存储器装置150可以是非易失性存储器装置,并且即使在不向其供电时也可以保持其中所存储的数据。存储器装置150可以通过写入操作来存储从主机102提供的数据,同时通过读取操作将其中所存储的数据提供到主机102。存储器装置150可以包括多个存储块152、154、156,多个存储块152、154、156中的每一个可以包括多个页面。多个页面中的每一个可以包括与多个字线(WL)电联接的多个存储器单元。存储器装置150还包括多个存储器管芯,多个存储器管芯中的每一个包括多个平面,多个平面中的每一个包括多个存储块152、154、156。另外,存储器装置150可以是例如闪速存储器的非易失性存储器装置,并且闪速存储器可以以二维或三维堆叠结构来实现。
控制器130可以控制存储器装置150的全部操作,诸如读取操作、写入操作、编程操作和擦除操作。例如,控制器130可以响应于来自主机102的请求而控制存储器装置150。控制器130可以将从存储器装置150读取的数据提供给主机102。控制器130还可以将由主机102提供的数据存储到存储器装置150中。
控制器130可以包括全部经由内部总线可操作地联接的主机接口(I/F)132、处理器134、错误校正码(ECC)组件138、电源管理单元(PMU)140、存储器接口(I/F)142以及存储器201和202。
主机接口132可以处理由主机102提供的命令和数据,并可通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速***组件互连(PCI-e或PCIe)、小型计算机***接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。根据实施例,主机接口132是与主机102交换数据的组件,主机接口132可以通过由处理器运行的固定来实施,该固件被称为主机接口层(HIL)且被存储在非瞬态计算机可读介质上。
ECC组件138可以校正待在存储器装置150中处理(例如,从其输出)的数据的错误位,ECC组件138可以包括ECC编码器和ECC解码器。在此,ECC编码器可以对待编程到存储器装置150中的数据执行错误校正编码,以生成添加了一个或多个奇偶校验位或检验位的经编码数据,并将经编码数据存储在存储器装置150中。当控制器130读取存储器装置150中存储的数据时,ECC解码器可以检测并校正从存储器装置150读取的数据中包含的错误。换言之,在对从存储器装置150读取的数据执行错误校正解码之后,ECC组件138可以确定错误校正解码是否已成功并且输出指示信号(例如,校正成功信号或校正失败信号)。ECC组件138可以使用在ECC编码进程中生成的奇偶校验位来校正读取数据的一个或多个错误位。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC组件138可以不校正错误位,而是输出指示校正错误位失败的错误校正失败信号。
ECC组件138可以基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归***码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)等。ECC组件138可以包括基于上述代码中的至少一个来执行错误校正操作的所有电路、模块、***或装置。
PMU 140可以管理提供在控制器130的电力。在实施例中,PMU140可以在休眠模式期间选择性地向第一存储器201和第二存储器202供电,其中休眠模式的进入和退出由主机102决定。例如,在休眠模式时间间隔期间,PMU 140可以向第一存储器201供电,并暂停向第二存储器202供电。
存储器接口142可以用作处置在控制器130和存储器装置150之间传送的命令和数据的接口,以允许控制器130响应于从主机102传递的请求而控制存储器装置150。当存储器装置150是闪速存储器时,且特别地,当存储器装置150是NAND闪速存储器时,在处理器134的控制下,存储器接口142可以生成用于存储器装置150的控制信号,并且可以处理被提供给存储器装置150或从存储器装置150接收的数据。存储器接口142可以提供处置控制器130和存储器装置150之间的命令和数据的接口,例如NAND闪存接口的操作,特别是控制器130和存储器装置150之间的操作。根据实施例,存储器接口142可以被实施为通过由处理器执行固件来与存储器装置150交换数据的组件,该固件被称为闪存接口层(FIL)且被存储在非瞬态计算机可读介质上。
存储器201和202可以支持由存储器***110和控制器130执行的操作。存储器201和202可以存储用于存储器***110和控制器130中的操作所生成或提供的临时或事务数据。控制器130可以响应于来自主机102的请求而控制存储器装置150。控制器130可以将从存储器装置150读取的数据传递到主机102。控制器130可以将从主机102接收的数据存储在存储器装置150内。存储器201和202可以用于存储用于执行控制器130和存储器装置150的诸如读取操作或编程/写入操作的数据。
存储器201和202可以被分别实施为易失性存储器。存储器201和202可以利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或其这两者来实施。尽管图2示出了被设置在控制器130内的存储器201和202,但是实施例不限于此,并且存储器201和202可以位于控制器130内部或外部。例如,存储器201和202可以由具有存储器接口的外部易失性存储器来实现,该存储器接口在存储器201和202与控制器130之间传送数据和/或信号。
存储器201和202可以存储执行由主机102所请求的诸如数据写入和数据读取的操作所必需的数据,和/或在存储器装置150与控制器130之间传送以用于诸如如上所述的垃圾收集和损耗均衡的后台操作的数据。根据实施例,为了支持存储器***110中的操作,存储器201和202可以包括编程存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
在图2的实施例中,第一存储器201和第二存储器202可以被配置为物理上彼此分离并且包括在存储器***110中的存储器。在另一实施例中,与图2的配置不同,第一存储器201和第二存储器202可以被替代性地配置为一个存储器中被划分为两个或更多个区域的各个单独的区域。然而,第一存储器201和第二存储器202彼此不同之处在于,在由主机102确定的休眠模式时间间隔期间,独立地分别向其供电或暂停供电。在实施例中,在休眠模式时间间隔中,可以向第一存储器201供电,并且暂停向第二存储器202供电。此时,因为第一存储器201和第二存储器202都是易失性存储器,所以在休眠模式时间间隔中的同时可以持续保持第一存储器201中存储的数据,而在休眠模式时间间隔中的同时第二存储器202中存储的数据可能会丢失。
处理器134可以利用微处理器或中央处理单元(CPU)来实施。存储器***110可以包括一个或多个处理器134。处理器134可以控制存储器***110的全部操作。通过示例而非限制的方式,处理器134可以响应于从主机102输入的写入请求或读取请求来控制存储器装置150的编程操作或读取操作。根据实施例,处理器134可以使用或运行存储在非瞬态计算机可读介质中的固件,以控制存储器***110的全部操作。在本文中,该固件可以被称为闪存转换层(FTL)。FTL可以用作主机102和存储器装置150之间的接口。主机102可以通过FTL向存储器装置150传送用于写入和读取操作的请求。
FTL可以管理地址映射、垃圾收集、损耗均衡等操作。特别地,FTL可以加载、生成、更新或存储映射数据。因此,控制器130可以使用映射数据将从主机102接收的逻辑地址映射到存储器装置150的物理地址。由于地址映射操作,存储器装置150可以类似通用存储装置地来执行读取或写入操作。而且,通过基于映射数据的地址映射操作,当控制器130试图更新存储在特定页面中的数据时,控制器130可以将所更新的数据编程在另一个空页面上并且可以使该特定页面的旧数据无效(例如,将与所更新的数据的逻辑地址对应的物理地址从先前的特定页面更新到另一新编程的页面),以顾及闪速存储器装置的特性。进一步,控制器130可以将该新数据的映射数据存储到FTL中。
例如,当在存储器装置150中执行由主机102请求的的操作时,控制器130使用在微处理器或中央处理单元(CPU)等中实施的处理器134。与存储器装置150接合的处理器134可以处置与从主机102接收的命令对应的指令或命令。控制器130可以执行与从主机102接收的命令对应的作为命令操作的前台操作,诸如,与写入命令对应的编程操作、与读取命令对应的读取操作、与擦除/丢弃命令对应的擦除/丢弃操作以及与设置命令一起的设置参数命令或设置特征命令对应的参数设置操作。
对于另一示例,控制器130可以使用处理器134对存储器装置150执行后台操作。通过示例而非限制的方式,存储器装置150的后台操作可以包括将存储器装置150中的存储块152、154、156之中的存储块中存储的数据复制和存储到另一存储块,例如垃圾收集(GC)操作。后台操作可以包括将存储块152、154、156中至少一个存储块中存储的数据移动或交换到存储块152、154、156中的至少另一个存储块中,例如损耗均衡(WL)操作。在后台操作期间,控制器130可以使用处理器134以将控制器130中存储的映射数据存储到存储器装置150中的存储块152、154和156中的至少一个存储块中,例如映射清除(flush)操作。检查或搜索存储块152、154、156之中的坏块的坏块管理操作是可以由处理器134执行的后台操作的另一示例。
在存储器***110中,控制器130执行与从主机102输入的多个命令对应的多个命令操作。例如,当顺序地、随机地或交替地执行与多个编程命令对应的多个编程操作、与多个读取命令对应的多个读取操作以及与多个擦除命令对应的多个擦除操作时,控制器130可以确定将控制器130连接到存储器150中包括的多个存储器管芯的多个通道(或通路)之中的哪个(或哪些)通道或通路对于执行每个操作是合适的或适当的。控制器130可以经由所确定的通道或通路发送或传送数据或指令来执行每个操作。在每个操作完成之后,存储器150中包括的多个存储器管芯可以分别经由相同的通道或通路来传送操作结果。然后,控制器130可以将响应或确认信号传送到主机102。在实施例中,控制器130可以检查每个通道或每个通路的状态。响应于从主机102输入的命令,控制器130可以基于每个通道或每个通路的状态来选择至少一个通道或通路,使得可以经由所选择的通道或通路来与数据一起传递指令和/或操作结果。
通过示例而非限制的方式,控制器130可以识别关于与存储器装置150中包括的多个存储器管芯相关联的多个通道(或通路)的状态。控制器130可以将每个通道或每个通路的状态确定为忙碌状态、就绪状态、激活状态、空闲状态、正常状态和/或异常状态中的一个状态。控制器确定指令(和/或数据)通过哪个通道或通路来传递可以与物理块地址相关联,例如,指令(和/或数据)被传递到哪个(或哪些)管芯中。控制器130可以参考从存储器装置150传递的描述符。描述符可以包括描述关于存储器装置150的块或页面的参数,该描述符是具有预定格式或结构的数据。例如,描述符可以包括装置描述符、配置描述符、单元描述符等。控制器130可以参考或使用描述符来确定经由哪个(或哪些)通道或通路来交换指令或数据。
管理单元(未示出)可以包括在处理器134中。管理单元可以执行存储器装置150的坏块管理。管理单元可以找到存储器装置150中处于不满足进一步使用条件的坏存储块,并对坏存储块执行坏块管理。当存储器装置150是例如NAND闪速存储器的闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间,例如在编程操作期间,可能发生编程失败。在坏块管理期间,编程失败的存储块或坏存储块的数据可以被编程到新存储块中。坏块可能使具有3D堆叠结构的存储器装置150的利用效率和存储器***110的可靠性严重劣化。因此,可靠的坏块管理可以提高或改善存储器***110的性能。
同时,下面将描述控制器130的编程操作、读取操作和擦除操作。
首先,控制器130可以将与从主机102接收的编程命令对应的编程数据存储在控制器130的存储器201和202中包括的缓冲器/高速缓存中,然后将存储在缓冲器/高速缓存中的数据存储在存储器装置150中包括的存储块152、154和156中。此外,控制器130可以更新与编程操作对应的映射数据,然后可以将更新后的映射数据存储在存储器装置150中包括的存储块152、154和156中。
当从主机102接收到读取命令时,控制器130可以通过检查与读取命令对应的数据的映射数据来从存储器装置150读取与读取命令对应的数据,可以将所读取的数据存储在控制器130的存储器201和202中包括的缓冲器/高速缓存中,然后可以将存储在缓冲器/高速缓存中的数据提供给主机102。
当从主机102接收到擦除命令时,控制器130可以执行擦除操作:检查与擦除命令对应的存储块,擦除所检查的存储块中存储的数据,更新与所擦除的数据对应的映射数据,然后将更新后的映射数据存储在存储器装置150中包括的存储块152、154和156中。
映射数据可以包括与通过编程操作存储在存储块中的数据有关的逻辑/物理(L2P:逻辑到物理)地址信息和物理/逻辑(P2L:物理到逻辑)地址信息。
与命令对应的数据可以包括用户数据和元数据。元数据可以包括在控制器130中生成的与存储器装置150中存储的用户数据对应的映射数据。此外,元数据可以包括关于与从主机102接收的命令对应的命令数据的信息、关于与命令对应的命令操作的信息、关于待对其执行命令操作的存储器装置150的存储块的信息以及关于与命令操作对应的映射数据的信息。换言之,元数据可以包括用于命令操作的信息和数据,而不是与从主机102接收到的命令对应的用户数据。
也就是说,当从主机102接收到写入命令时,控制器130执行与写入命令对应的编程操作。此时,控制器130可以将与写入命令对应的用户数据存储在存储器装置150的存储块152、154和156之中的至少一个存储块中(例如,存储块之中的空存储块、开放存储块或执行了擦除操作的空闲存储块)。另外,控制器130可以将与存储块中存储的用户数据有关的逻辑到物理地址映射信息(L2P映射)和物理到逻辑地址映射信息(P2L映射)以映射表或映射列表的形式存储在存储器装置150的存储块之中的空存储块、开放存储块或空闲存储块中。
可以将待存储在存储器装置150中的用户数据以具有预设大小的段为单位来划分。预设大小可以与存储器***110与主机102互操作所需的最小数据大小相同。根据实施例,可以根据存储器装置150中的配置和控制方法来确定作为用户数据的单位的数据段的大小。在存储器装置150的存储块中存储用户数据的数据段的同时,控制器130可以生成或更新与所存储的数据段对应的映射地址。当每个与包括映射地址的元数据单元对应的元段(例如,作为映射数据的映射段的逻辑到物理(L2P)段和物理到逻辑(P2L)段)由控制器130生成或存储在存储块中的映射段被加载到存储器201和202且然后被更新时,映射段可以存储在存储器装置150的存储块中。
参照图1和图2,存储器***110可以在对存储器装置150的操作的处理期间生成内部数据INDATA。此时,内部数据INDATA可以是因为在主机102和存储器装置150之间执行数据写入/读取操作需要元数据而在存储器***110中生成的元数据。例如,包括与存储块152、154和156中存储的数据有关的L2P(逻辑到物理)地址映射信息和P2L(物理到逻辑)地址映射信息的映射数据可以包括在内部数据INDATA中。此外,内部数据INDATA中可以包括确保存储块152、154和156中存储的数据的可靠性或决定后台操作的时间点所需的读取/写入/擦除计数数据。另一方面,从主机102直接输入、被存储在存储块152、154和156中然后被输出到主机102的写入/读取数据可以不包括在内部数据INDATA中,因为该写入/读取数据不是由存储器***110生成的。
存储器***110可以将内部数据INDATA存储在第一存储器201和第二存储器202中的至少任意一个中。例如,如图所示,内部数据INDATA的第一部分PART1可以存储在第一存储器201中,内部数据INDATA的第二部分PART2可以存储在第二存储器202中。
当在预定时间或更长时间内未计划对存储器***110执行写入或读取操作时,主机102可以请求存储器***110进入休眠模式,以减少存储器***110的电力消耗。
当从主机102接收到进入休眠模式的请求时,存储器***110可以将第二存储器202中存储的内部数据INDATA的第二部分PART2输出到主机102,然后暂停(即,停止)向第二存储器202供电。
在请求存储器***110进入休眠模式之后,主机102可以将从存储器***110接收的内部数据INDATA的第二部分PART2存储在内部存储器106中。
主机102可以在以后的时间请求已进入休眠模式的存储器***110退出休眠模式。此时,主机102可以在请求存储器***110退出休眠模式的同时,将存储在内部存储器106中的内部数据INDATA的第二部分PART2输出到存储器***110。
当从主机102接收到退出休眠模式的请求时,存储器***110可以向第二存储器202供电。然后存储器***110可以将内部数据INDATA的第二部分PART2存储在第二存储器202中,内部数据INDATA的第二部分PART2与退出休眠模式的请求一起从主机102接收。
图3示出根据本公开的实施例的数据处理***100中的主机102和存储器***110的配置。
图4示出根据本公开的实施例的数据处理***中的主机和存储器***的读取操作。
参照图3,主机102可以包括处理器104、存储器106和主机控制器接口108。存储器***110可以包括控制器130’和存储器装置150。本文中,参照图3描述的控制器130'和存储器装置150通常可以对应于参照图2描述的控制器130和存储器装置150。
在下文中,将主要描述可以在技术上加以区分的图3中所示的控制器130'和存储器装置150与图2中所示的控制器130和存储器装置150之间的差异。特别地,控制器130中的逻辑块160可以对应于参照图2描述的闪存转换层(FTL)。然而,根据实施例,控制器130'中的逻辑块160可以执行在参照图2描述的闪存转换层(FTL)中未描述的附加功能。
主机102可以包括:处理器104,该处理器104具有比存储器***110更高的性能;以及存储器106,该存储器106能够存储比与主机102协作的存储器***110的存储器144更大量的数据。主机102中的处理器104和存储器106可以在空间和可升级性方面具有优势。例如,处理器104和存储器106可以具有比存储器***110中的处理器134和存储器144更少的空间限制。处理器104和存储器106可以是可更换的,以提升它们的性能,这与存储器***110中的处理器134和存储器144是有区别的。在实施例中,存储器***110可以利用主机102拥有的资源,以提高存储器***110的操作效率。
随着可以存储在存储器***110的存储器装置150中的数据的量的增加,与存储器***110中存储的数据对应的元数据的量也增加。当用于将元数据加载到控制器130的存储器144中的存储容量有限或被限制时,所加载的元数据的量的增加可能会给控制器130的操作带来操作负担。例如,由于为控制器130的存储器144中的元数据所分配的空间或区域的限制,因此可以加载一部分而不是全部的元数据。如果所加载的元数据不包括主机102已请求访问的物理位置的特定元数据,则如果某些加载的元数据已被更新,控制器130必须将所加载的元数据重新存储到存储器装置150中,并加载主机102已请求访问的物理位置的特定元数据。执行这些操作,使得控制器130可以执行主机102所需的读取操作或写入操作,并且可能劣化存储器***110的性能。
主机102中包括的存储器106的存储容量可以比控制器130中包括的存储器144的存储容量大几十或几百倍。存储器***110可以将控制器130使用的元数据166传送到主机102中的存储器106,使得主机102中的存储器106的至少一些部分可以被存储器***110访问。存储器106的至少一些部分可以用作高速缓存存储器,用于在存储器***110中读取或写入数据所需的地址转换。在这种情况下,主机102在将逻辑地址与请求、命令或指令一起传送到存储器***110之前,基于存储器106中存储的元数据166将逻辑地址转换为物理地址。然后,主机102可以将转换后的物理地址与请求、命令或指令一起传送到存储器***110。与请求、命令或指令一起接收转换后的物理地址的存储器***110可以跳过将逻辑地址转换为物理地址的内部进程,并基于从主机102接收的物理地址来访问存储器装置150。在这种情况下,可以消除控制器130从存储器装置150加载元数据以进行地址转换的开销(例如,操作负担),并且可以提高存储器***110的操作效率。
另一方面,即使存储器***110将元数据166传送到主机102,存储器***110也可以基于元数据166来控制映射信息,诸如元数据生成、擦除、更新等。存储器***110中的控制器130可以根据存储器装置150的操作状态来执行预定的操作,并且可以确定物理地址,即从主机102传送来的数据将被存储在存储器装置150中的哪个物理位置。因为存储器装置150中存储的数据的物理地址可能被改变,并且主机102尚未识别出所改变的物理地址,所以存储器***110可以主动控制元数据166。
在存储器***110控制用于地址转换的元数据的同时,可以确定存储器***110需要修改或更新先前传送到主机102的元数据166。存储器***110可以将包括元数据的信号发送到主机102,以请求更新主机102中存储的元数据166。主机102可以响应于从存储器***110接收的请求来更新在存储器106中所存储的元数据166。这允许主机102中的存储器106中存储的元数据166被保持为最新的,从而,即使主机控制器接口108使用存储器106中存储的元数据166,逻辑地址也被正确地转换为物理地址,并且转换后的物理地址与逻辑地址一起被传送到存储器***110。
同时,存储器***110中的控制器130可以控制(例如,创建、删除、更新等)逻辑/物理信息项或物理/逻辑信息项,并将逻辑信息项或物理信息项存储到存储器装置150。因为主机102中的存储器106是易失性存储器的类型,所以当发生诸如中断对主机102和存储器***110的供电中断的事件时,存储器106中存储的元数据166可能消失。因此,存储器***110中的控制器130不仅可以保持主机102的存储器106中存储的元数据166的最新状态,还可以将元数据166中包括的最新状态的逻辑/物理信息项或物理/逻辑信息项存储在存储器装置150中。
参照图3和图4,描述了当元数据166存储在主机102的存储器106中时,主机102请求读取存储器***110中存储的数据的操作。
向主机102和存储器***110供电,然后主机102和存储器***110可以彼此接合。当主机102和存储器***110协作时,可以将存储器装置150中存储的逻辑到物理地址映射元数据(L2P MAP)传送到主机存储器106。
当由主机102中的处理器104发出读取命令(读取CMD)时,该读取命令被传送到主机控制器接口108。在接收到读取命令之后,主机控制器接口108搜索在主机存储器106中存储的元数据(L2P MAP)中与对应于读取命令的逻辑地址对应的物理地址。基于主机存储器106中存储的元数据(L2P MAP),主机控制器接口108可以确定与逻辑地址对应的物理地址。然后,主机控制器接口108执行与读取命令相关联的逻辑地址的地址转换。
主机控制器接口108将读取命令(读取CMD)与逻辑地址以及物理地址一起传送到存储器***110的控制器130。控制器130可以基于与读取命令一起输入的物理地址来访问存储器装置150。可以响应于读取命令(读取CMD)而将在与存储器装置150中的物理地址对应的位置处存储的数据传送到主机存储器106。
读取包括非易失性存储器的存储器装置150中存储的数据的操作可能花费比读取为易失性存储器的主机存储器106等存储器中存储的数据的操作更多的时间。在处置读取命令(读取CMD)的上述操作中,控制器130可以跳过或省略与从主机102输入的逻辑地址对应的地址转换(例如,搜索和识别与逻辑地址相关联的物理地址)。例如,因为地址转换在主机102中执行,所以控制器130可以不必从存储器装置150加载元数据或替换存储器144中存储的元数据,因为控制器130无法在存储器144中找到用于地址转换的元数据。这允许存储器***110更快地执行由主机102所请求的读取操作。
已经参照图3和图4描述的主机102和存储器***110的操作可以是以正常模式执行的主机102和存储器***110的操作。也就是说,已经参照图3和图4描述的主机102和存储器***110的操作可以指示将由存储器***110生成的元数据166存储在主机102中包括的内部存储器106中,并且在主机102请求存储器***110写入特定数据或请求存储器***110读取其中存储的特定数据的操作期间管理元数据166的操作。在这样的正常模式中,存储器***110可以执行主机所请求的许多操作。因此,在正常模式下存储器***110可以被允许使用相对大量的电力。
另一方面,主机102和存储器***110可以进入休眠模式。也就是说,当预计主机102不需要请求存储器***110写入或读取特定数据的时间足够长时,则如参照图1和图2所描述的,主机102可以请求存储器***110进入休眠模式。在休眠模式时间间隔中,除了准备退出休眠模式之外,存储器***110不执行单独的操作。因此,在休眠模式时间间隔中存储器***110可以不被允许使用大量的电力。由于这个原因,存储器***110可以执行各种操作以使休眠模式时间间隔中的电力消耗最小化。在实施例中,存储器***110可以执行暂停向内部易失性存储器的一部分(诸如图2中的第二存储器202)供电的操作,否则该内部易失性存储器将在休眠模式时间间隔中持续地消耗电力。此时,当暂停供电时,存储器***110内的易失性存储器201和202可能会丢失其中存储的数据。因此,当从主机102接收到休眠模式进入的请求时,存储器***110可以将已存储在易失性存储器的一部分中的数据移动到另一区域,然后暂停向易失性存储器的该部分供电。
如参照图3和图4所描述的,存储器***110可以将元数据166传送到主机102,使得元数据166被存储在主机102的内部存储器106中。图3和图4仅示出了从存储器***110传送到主机102的作为元数据166的映射数据。然而,这仅是实施例,并且元数据166不必限于映射数据,因为主机102不通过检查元数据166的组成来决定是否将由存储器***110传送的元数据166存储在内部存储器106中。因此,当从主机102接收到休眠模式进入的请求时,存储器***110可以将内部易失性存储器的一部分中存储的数据传送到主机102,从而将数据存储在主机102的内部存储器106中。然后,存储器***110可以暂停向易失性存储器的该部分供电,即参照图1和图2描述的操作。
图5A至图5E示出根据本实施例的数据处理***中的休眠模式进入和退出操作。
参照图5A和图5B描述的数据处理***100的休眠模式进入和退出操作可以是参照图1和图2描述的数据处理***100的休眠模式进入和退出操作的详细版本。因此,以下描述将集中于可以在技术上区分的参照图5A和5B描述的休眠模式进入和退出操作与参照图1和2描述的操作之间的差异的内容。
在实施例中,主机102可以生成休眠命令SLEEP COMMAND,并将休眠命令SLEEPCOMMAND传送到存储器***110,以请求存储器***110进入休眠模式。
当从主机102接收到休眠命令SLEEP COMMAND时,存储器***110可以检查存储器***110内的第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA的大小。也就是说,存储器***110可以将第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA的大小与参考大小REF SIZE进行比较。这是因为,在实施例中,存储器***110响应于休眠命令SLEEP COMMAND而可以一次传送到主机102的数据的大小可以被限制为预定量。也就是说,为了将从存储器***110传送的数据存储在主机102的内部存储器INTERNALMEMORY中,主机102和存储器***110之间预定的协议需要按照其实际情况来使用,并且预定的协议可以包括可以一次(例如,在单个消息中)传送的数据的大小。参考大小REF SIZE可以对应于存储器***110响应于休眠命令SLEEP COMMAND而可以一次传送到主机102的数据的大小。
因此,当从主机102接收到休眠命令SLEEP COMMAND时,存储器***110可以根据第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA的大小与参考大小REF SIZE之间的比较结果,来决定是否划分第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA。当第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA的大小等于或小于参考大小REF SIZE(SIZE OF INDATA<=REF SIZE)时,存储器***110可以不划分第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA。另一方面,当第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA的大小超过参考大小REF SIZE(SIZE OFINDATA>REF SIZE)时,存储器***110可以划分第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA。
图5A示出当第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA的大小等于或小于参考大小REF SIZE(SIZE OF INDATA<=REF SIZE)时,存储器***110进入和退出休眠模式。
首先,存储器***110可以将第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA输出到主机102,然后向主机102确认进入休眠模式(ACK SLEEP MODE ENTRY)并进入休眠模式。
当处于休眠模式时,存储器***110可以向其中的第一易失性存储器装置供电,并且暂停向第二易失性存储器VOLATILE MEMORY2供电。因此,在休眠模式期间被暂停供电的第二易失性存储器VOLATILE MEMORY2可能会丢失其中存储的所有内部数据INDATA,并且被供电的第一易失性存储器装置可以保持其中存储的数据。
主机102可以在当存储器***110进入、处于和退出休眠模式时的期间将从存储器***110接收的内部数据INDATA存储在主机102的内部存储器INTERNAL MEMORY中。
为了请求已进入休眠模式的存储器***110退出休眠模式,主机102可以生成唤醒命令WAKEUP COMMAND,并将唤醒命令WAKEUP COMMAND传送给存储器***110。主机102可以将内部存储器INTERNAL MEMORY中存储的内部数据INDATA包括在唤醒命令WAKEUP COMMAND中,并且将具有内部数据INDATA的唤醒命令WAKEUP COMMAND输出到存储器***110。
因此,当从主机102接收到唤醒命令WAKEUP COMMAND时,存储器***110可以从休眠模式退出,并且向在休眠模式时间间隔中已被暂停供电的第二易失性存储器VOLATILEMEMORY2供电POWER。然后,存储器***110可以将与唤醒命令WAKEUP COMMAND一起从主机102接收的内部数据INDATA存储到第二易失性存储器VOLATILE MEMORY2中,并且将从休眠模式退出的确认(ACK SLEEP MODE EXIT)传送到主机102。
与图5A的描述相反,图5B示出当存储器***110内的第二易失性存储器VOLATILEMEMORY2中存储的内部数据INDATA的大小超过参考大小REF SIZE(SIZE OF INDATA>REFSIZE)时,存储器***110进入和退出休眠模式的操作。图5B的操作中的线A上方的操作可以以与图5A中的线A上方所示相同的方式来执行。
首先,存储器***110可以将第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA划分为N个数据部分(DIVIDING INDATA STORED IN VOLATILE MEMORY2 INTO1/N),其中N可以是等于或大于2的自然数。然后,存储器***110可以将N的值与参考值REFVALUE进行比较(COMPARING VALUE OF ‘N’WITH REF VALUE)。这是因为存储器***110可以响应于休眠命令SLEEP COMMAND而传送到主机102的数据的整体大小可以具有预定限制。也就是说,为了将从存储器***110传送的数据存储在主机102的内部存储器INTERNALMEMORY中,主机102和存储器***110之间预定的协议需要按照其实际情况来使用,并且预定的协议可以包括可以被传送的数据的整体大小的限制。此时,该大小可以对应于参考值REF VALUE,该参考值能够定义存储器***110响应于休眠命令SLEEP COMMAND而可以传送到主机102的数据的整体大小。作为参考,如上所述,存储器***110响应于休眠命令SLEEPCOMMAND而可以一次传送到主机102的数据的大小定义已被定义为参考大小REF SIZE。此外,将第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA划分为N个数据部分的原因是内部数据INDATA的大小大于参考大小REF SIZE。因此,假设当内部数据INDATA被划分为N个数据部分时,内部数据INDATA被参考大小REF SIZE划分。因此,与N相比的参考值REF VALUE可以定义存储器***110可以响应于休眠命令SLEEP COMMAND而可以传送到主机102的数据的整体大小。
图5B示出了N的值等于或小于参考值REF VALUE(VALUE OF‘N’<=REF VALUE)的情况。
具体地,当N的值等于或小于参考值REF VALUE(VALUE OF‘N’<=REF VALUE)时,存储器***110可以分别将划分的内部数据INDATA的N个部分从第一部分1ST PORTION OFINDATA至第N部分NTH PORTION OF INDATA顺序输出到主机102,以作为对休眠命令SLEEPCOMMAND的响应,然后向主机102确认进入休眠模式(ACK SLEEP MODE ENTRY)并进入休眠模式。
当进入休眠模式时,存储器***110可以向其中的第一易失性存储器装置供电,并且暂停向第二易失性存储器VOLATILE MEMORY2供电。此时,在休眠模式期间被暂停供电的第二易失性存储器VOLATILE MEMORY2可能会丢失其中存储的所有内部数据INDATA,并且被供电的第一易失性存储器装置可以保持其中存储的数据。
主机102可以在主机102生成休眠命令SLEEP COMMAND并将休眠命令SLEEPCOMMAND输出到存储器***110的第一时间点和向存储器***110发送唤醒命令的第二时间点之间将从存储器***110接收的内部数据INDATA存储在主机102的内部存储器INTERNALMEMORY中,直到存储器***110退出休眠模式之后。
为了请求已进入休眠模式SLEEP MODE的存储器***110退出休眠模式,主机102可以生成唤醒命令WAKEUP COMMAND,并将唤醒命令WAKEUP COMMAND传送给存储器***110。主机102可以将内部存储器INTERNAL MEMORY中存储的内部数据INDATA包括在唤醒命令WAKEUP COMMAND中,并且将具有内部数据INDATA的唤醒命令WAKEUP COMMAND输出到存储器***110。
因此,当从主机102接收到唤醒命令WAKEUP COMMAND时,存储器***110可以从休眠模式退出,并且向在休眠模式时间间隔期间已被暂停供电的第二易失性存储器VOLATILEMEMORY2供电。然后,存储器***110可以将与唤醒命令WAKEUP COMMAND一起从主机102接收的内部数据INDATA存储在第二易失性存储器VOLATILE MEMORY2中,并且将从休眠模式退出的确认(ACK SLEEP MODE EXIT)传送到主机102。
与图5B的描述相反,图5C示出N的值超过参考值REF VALUE的情况(VALUE OF‘N’>REF VALUE)。图5C的操作中的线B上方的操作可以以与图5B中的线B上方所示相同的方式(包括图5A中的线A上方所示的操作)来执行。
具体地,当N的值超过参考值REF VALUE(VALUE OF‘N’>REF VALUE)时,存储器***110可以将第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA编程到非易失性存储器装置NONVOLATILE MEMORY,然后向主机102确认进入休眠模式(ACK SLEEP MODEENTRY)并进入休眠模式。也就是说,存储器***110可以响应于休眠命令SLEEP COMMAND而不向主机102输出任何数据,但是可以向主机102确认进入休眠模式。因为主机102响应于休眠命令SLEEP COMMAND而没有从存储器***110接收到数据,所以主机102不将任何对应的数据存储在内部存储器INTERNAL MEMORY中。
当处于休眠模式时,存储器***110可以向其中的第一易失性存储器装置供电,并暂停向第二易失性存储器VOLATILE MEMORY2供电。此时,在休眠模式期间被暂停供电的第二易失性存储器VOLATILE MEMORY2可能会丢失其中存储的所有内部数据INDATA,并且被供电的第一易失性存储器装置可以保持其中存储的数据。
为了请求已进入休眠模式的存储器***110退出休眠模式SLEEP MODE,主机102可以生成唤醒命令WAKEUP COMMAND,并将唤醒命令WAKEUP COMMAND传送给存储器***110。此时,由于作为对休眠命令SLEEP COMMAND的响应,主机102从未从存储器***110接收到任何数据,因此主机102可以在输出到存储器***110的唤醒命令WAKEUP COMMAND中不包括数据。
当从主机102接收到唤醒命令WAKEUP COMMAND时,存储器***110可以从休眠模式退出,并且向在休眠模式时间间隔期间已被暂停供电的第二易失性存储器VOLATILEMEMORY2供电。然后,存储器***110可以从非易失性存储器装置NONVOLATILE MEMORY读取在休眠模式进入时已被编程到非易失性存储器装置NONVOLATILEMEMORY中的内部数据INDATA,并将所读取的数据存储在第二易失性存储器VOLATILE MEMORY2中,并且将从休眠模式退出的确认(ACK SLEEP MODE EXIT)传送到主机102。
参照图5D,在实施例中,当从主机102接收到休眠命令SLEEP COMMAND时,在将第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA传送到主机102之前,存储器***110可以从主机102请求确认支持将内部数据INDATA传送到主机102(CONFIRMINDATATRANSFER)。
在主机102生成休眠命令SLEEP COMMAND并将休眠命令SLEEP COMMAND输出到存储器***110的第一时间点和从存储器***110接收到进入休眠模式的确认的时间点之间,当从存储器***110接收到确认支持内部数据INDATA的传送的请求时,主机102可以检查内部存储器INTERNAL MEMORY的状态(CHECKING INTERNAL MEMORY)。根据通过检查内部存储器INTERNAL MEMORY的状态获得的结果,主机102可以允许存储器***110传送内部数据INDATA(TRANSFER ALLOWED),或者不允许存储器***110传送内部数据INDATA(TRANSFERNOT ALLOWED)。
当主机102向存储器***110确认(TRANSFER ALLOWED)允许存储器***110将内部数据INDATA传送到主机102时,存储器***110可以按照实际情况通过使用参照图5A至5C描述的操作将第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA输出到主机102。也就是说,参照图5A至图5C描述的操作可以被应用为图5D的操作中的线A下方的操作。
与图5D的情况相反,图5E示出主机102向存储器***110指示不允许存储器***110将内部数据传送到主机102的情况(TRANSFER NOT ALLOWED)。
当不允许将内部数据INDATA传送到主机102时,存储器***110可以将第二易失性存储器VOLATILE MEMORY2中存储的内部数据INDATA编程到非易失性存储器装置NONVOLATILE MEMORY,然后向主机102确认进入休眠模式(ACK SLEEP MODE ENTRY)并进入休眠模式。也就是说,存储器***110可以响应于休眠命令SLEEP COMMAND而不向主机102输出任何数据,而是向主机102确认进入休眠模式。此外,由于主机102响应于休眠命令SLEEPCOMMAND而没有从存储器***110接收到任何数据,因此主机102可以不将这样的数据存储在内部存储器INTERNAL MEMORY中。
当处于休眠模式时,存储器***110可以向其中的第一易失性存储器装置供电,并暂停向第二易失性存储器VOLATILE MEMORY2供电。在该期间中,被暂停供电的第二易失性存储器VOLATILE MEMORY2可能会丢失其中存储的所有内部数据INDATA,并且被供电的第一易失性存储器装置可以保持其中存储的数据。
为了请求已进入休眠模式的存储器***110退出休眠模式,主机102可以生成唤醒命令WAKEUP COMMAND,并将唤醒命令WAKEUP COMMAND传送给存储器***110。此时,由于响应于休眠命令SLEEP COMMAND主机102从未从存储器***110接收到任何数据,因此主机102可以在输出到存储器***110的唤醒命令WAKEUP COMMAND中不包括数据。
当从主机102接收到唤醒命令WAKEUP COMMAND时,存储器***110可以从休眠模式退出,并且向在休眠模式时间间隔中已被暂停供电的第二易失性存储器VOLATILE MEMORY2供电。然后,存储器***110可以从非易失性存储器装置NONVOLATILE MEMORY读取在休眠模式进入时已被编程到非易失性存储器装置NONVOLATILE MEMORY中的内部数据INDATA,并将所读取的数据存储在第二易失性存储器VOLATILE MEMORY2中,并且将从休眠模式退出的确认(ACK SLEEP MODE EXIT)传送到主机102。
根据上述实施例,当控制存储器***进入休眠模式时,可以在休眠模式下被暂停供电的存储器***的易失性存储器装置中存储的内部数据可以被传送到主机,并被存储在主机的内部存储器中。此外,当控制存储器***从休眠模式退出时,存储在主机的内部存储器中的内部数据可以冲主机被接收并被存储在存储器***的易失性存储器中。与在休眠模式进入/退出时间间隔中存储器***的易失性存储器装置中存储的内部数据被编程到非易失性存储器装置/从非易失性存储器装置被读取的情况相比,该操作可以显著减少休眠模式的进入和退出延迟。通过该操作,可以提高存储器***的操作性能。
根据实施例,该设备可以具有以下效果。
当控制存储器***进入休眠模式时,数据处理***可以将存储器***的易失性存储器中存储的内部数据传送到主机,其中易失性存储器将在休眠模式中被暂停供电,并将内部数据存储在主机的内部存储器中。此外,当控制存储器***从休眠模式退出时,数据处理***可以接收主机的内部存储器中存储的内部数据,并将内部数据存储在存储器***的易失性存储器中,其中作为退出休眠模式的一部分,该易失性存储器已恢复供电。通过该操作,与在分别在进入和退出休眠模式时存储器***的易失性存储器中存储的内部数据被编程到非易失性存储器和从非易失性存储器中被读取时相比,可以显著减小休眠模式的进入和退出延迟。因此,可以提高存储器***的操作性能。
尽管出于说明性目的描述了各个实施例,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (20)
1.一种存储器***,所述存储器***包括:
非易失性存储器装置;
第一易失性存储器装置,在休眠模式下被供电;
第二易失性存储器装置,在所述休眠模式下被暂停供电;以及
控制器,将内部数据存储在所述第一易失性存储器装置和所述第二易失性存储器装置中的至少任意一个中,所述内部数据在所述非易失性存储器装置的操作的处理期间被生成,
其中当从主机接收到休眠命令时,所述控制器响应于所述休眠命令而将所述第二易失性存储器装置中存储的所述内部数据输出到所述主机,然后将进入所述休眠模式的确认传送到所述主机并进入所述休眠模式,
其中在所述休眠模式下,所述控制器保持所述第一易失性存储器装置中存储的内部数据。
2.根据权利要求1所述的存储器***,其中当从所述主机接收到所述休眠命令时,所述控制器执行所述第二易失性存储器装置中存储的所述内部数据的大小与响应于所述休眠命令而可以一次传送的数据的大小的比较,并且基于所述比较的结果确定是否划分所述内部数据。
3.根据权利要求2所述的存储器***,其中当所述比较的结果指示所述第二易失性存储器装置中存储的所述内部数据的大小超过响应于所述休眠命令而可以一次传送的数据的大小时,所述控制器将所述第二易失性存储器装置中存储的所述内部数据划分为N个数据部分,并且作为对所述休眠命令的响应,将划分的内部数据从第一部分到第N部分顺序地输出到所述主机,然后将进入所述休眠模式的所述确认传送到所述主机并进入所述休眠模式,其中N是等于或大于2的自然数。
4. 根据权利要求2所述的存储器***,其中当所述比较的结果指示所述第二易失性存储器装置中存储的所述内部数据的大小超过响应于所述休眠命令而可以一次传送的数据的大小时:
所述控制器将所述第二易失性存储器装置中存储的所述内部数据划分为N个数据部分,其中N是等于或大于2的自然数,并且
当N超过参考值时,所述控制器将所述第二易失性存储器装置中存储的所述内部数据编程到所述非易失性存储器装置中,并且将进入所述休眠模式的所述确认传送到所述主机并进入所述休眠模式。
5.根据权利要求1所述的存储器***,其中所述控制器向所述主机发送确认请求,以确认是否允许响应于所述休眠命令而将所述第二易失性存储器装置中存储的所述内部数据传送到所述主机。
6.根据权利要求5所述的存储器***,其中当所述主机响应于所述确认请求,确认允许所述控制器将所述内部数据传送到所述主机时,作为对所述休眠命令的响应,所述控制器将所述第二易失性存储器装置中存储的所述内部数据输出到所述主机,然后将进入所述休眠模式的确认传送到所述主机并进入所述休眠模式。
7.根据权利要求6所述的存储器***,其中当所述主机响应于所述确认请求未指示允许所述控制器将所述内部数据传送到所述主机时,所述控制器将所述第二易失性存储器装置中存储的所述内部数据编程到所述非易失性存储器装置,然后将进入所述休眠模式的所述确认传送到所述主机并进入所述休眠模式。
8.根据权利要求1所述的存储器***,其中当从所述主机接收到包括所述内部数据的唤醒命令时,所述控制器退出所述休眠模式、向所述第二易失性存储器装置供电、将所述唤醒命令中包括的所述内部数据存储到所述第二易失性存储器装置中并且将退出所述休眠模式的确认传送到所述主机。
9. 一种数据处理***,所述数据处理***包括:
主机,生成休眠命令和唤醒命令并且输出所生成的命令;以及
存储器***,包括非易失性存储器装置、在休眠模式下被供电的第一易失性存储器装置以及在所述休眠模式下被暂停供电的第二易失性存储器装置,所述存储器***将内部数据存储在所述第一易失性存储器装置和所述第二易失性存储器装置中的至少任意一个中,所述内部数据在所述非易失性存储器装置的操作的处理期间被生成,
其中当从所述主机接收到所述休眠命令时,所述存储器***响应于所述休眠命令将所述第二易失性存储器装置中存储的所述内部数据输出到所述主机,然后将进入所述休眠模式的确认传送到所述主机并进入所述休眠模式,并且
所述主机在将所述休眠命令输出到所述存储器***的第一时间点和向所述存储器***发送唤醒命令的第二时间点之间,将从所述存储器***接收的所述内部数据存储在内部存储器中,
其中在所述休眠模式下,所述存储器***保持所述第一易失性存储器装置中存储的内部数据。
10.根据权利要求9所述的数据处理***,其中当从所述主机接收到所述休眠命令时,所述存储器***通过将所述第二易失性存储器装置中存储的所述内部数据的大小与响应于所述休眠命令而可以一次传送的数据的大小进行比较来确定是否划分所述内部数据。
11.根据权利要求10所述的数据处理***,其中当所述第二易失性存储器装置中存储的所述内部数据的大小超过响应于所述休眠命令而可以一次传送的数据的大小时,所述存储器***将所述第二易失性存储器装置中存储的所述内部数据划分为N个数据部分、响应于所述休眠命令将划分的内部数据从第一部分到第N部分顺序地输出到所述主机并且然后将进入所述休眠模式的所述确认传送到所述主机并进入所述休眠模式,其中N是等于或大于2的自然数。
12. 根据权利要求10所述的数据处理***,其中当所述第二易失性存储器装置中存储的所述内部数据的大小超过响应于所述休眠命令而可以一次传送的数据的大小时:
所述存储器***将所述第二易失性存储器装置中存储的所述内部数据划分为N个数据部分,并且
当N超过参考值时,所述存储器***将所述第二易失性存储器装置中存储的所述内部数据编程到所述非易失性存储器装置,然后将进入所述休眠模式的所述确认传送到所述主机并进入所述休眠模式。
13.根据权利要求9所述的数据处理***,其中响应于接收到所述休眠命令,所述存储器***向所述主机发送确认请求,以确认是否允许将所述第二易失性存储器装置中存储的所述内部数据传送到所述主机,
其中当所述主机在所述第一时间点与接收到进入所述休眠模式的所述确认之间从所述存储器***接收到所述确认请求时,所述主机:
检查所述内部存储器的状态,
根据检查结果确定是否允许所述存储器***将所述内部数据传送到所述主机,并且
向所述存储器***传送指示是否允许所述存储器***将所述内部数据传送到所述主机的确认。
14.根据权利要求13所述的数据处理***,其中响应于指示允许所述存储器***将所述内部数据传送到所述主机的所述确认,作为对所述休眠命令的响应,所述存储器***将所述第二易失性存储器装置中存储的所述内部数据输出到所述主机,然后将进入所述休眠模式的所述确认传送到所述主机并进入所述休眠模式。
15.根据权利要求14所述的数据处理***,其中响应于指示不允许所述存储器***将所述内部数据传送到所述主机的所述确认,所述存储器***将第二所述易失性存储器装置中存储的所述内部数据编程到所述非易失性存储器装置,然后将进入所述休眠模式的所述确认传送到所述主机并进入所述休眠模式。
16.根据权利要求15所述的数据处理***,其中所述主机将所述内部存储器中存储的第二数据包括在所述唤醒命令中,并且将所述唤醒命令与所述第二数据一起输出到所述存储器***,
其中当所述存储器***从所述主机接收到所述唤醒命令时,所述存储器***退出所述休眠模式、向所述第二易失性存储器装置供电、将所述唤醒命令中包括的所述第二数据存储到所述第二易失性存储器装置中并且将退出所述休眠模式的确认传送到所述主机。
17.一种存储器***的操作方法,所述操作方法包括:
从所述存储器***外部的主机接收休眠命令,所述存储器***包括非易失性存储器装置、在休眠模式下被供电的第一易失性存储器装置以及在所述休眠模式下被暂停向供电的第二易失性存储器装置;
在接收到所述休眠命令之后,响应于所述休眠命令,将所述第二易失性存储器装置中存储的内部数据输出到所述主机;
将进入所述休眠模式的确认传送到所述主机;并且
在输出所述内部数据之后进入所述休眠模式;
在所述休眠模式下保持所述第一易失性存储器装置中存储的数据,
其中所述存储器装置将所述内部数据存储在所述第一易失性存储器装置和所述第二易失性存储器装置中的至少任意一个中,所述内部数据是在所述非易失性存储器装置的操作的处理期间生成的数据。
18.根据权利要求17所述的操作方法,其中输出所述内部数据包括:
通过将第二易失性存储器装置中存储的所述内部数据的大小与响应于所述休眠命令而可以一次传送的数据的大小进行比较来确定是否划分所述内部数据;
响应于确定划分所述内部数据:
将所述第二易失性存储器装置中存储的所述内部数据划分为N个数据部分;
当N小于参考值时,作为对所述休眠命令的响应,将划分的内部数据从第一部分到第N部分输出到所述主机;并且
当N超过所述参考值时,将所述易失性存储器装置中存储的所述内部数据编程到所述第二易失性存储器装置中。
19.根据权利要求17所述的操作方法,进一步包括:
响应于接收所述休眠命令,确认是否允许将所述第二易失性存储器装置中存储的所述内部数据传送到所述主机;
响应于所述主机指示允许所述存储器***将所述内部数据传送到所述主机,执行输出所述内部数据;并且
当所述主机指示不允许所述存储器***将所述内部数据传送到所述主机时,将所述内部数据编程到所述非易失性存储器装置。
20.根据权利要求17所述的操作方法,进一步包括:
响应于从所述主机接收唤醒命令:
从所述休眠模式退出,
向所述第二易失性存储器装置供电,
将所述唤醒命令中包括的所述内部数据存储到所述第二易失性存储器装置中,并且
将退出所述休眠模式的确认传送到所述主机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190077806A KR20210001546A (ko) | 2019-06-28 | 2019-06-28 | 슬립모드에서 메모리 시스템의 내부데이터를 전송하는 장치 및 방법 |
KR10-2019-0077806 | 2019-06-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112148208A CN112148208A (zh) | 2020-12-29 |
CN112148208B true CN112148208B (zh) | 2024-03-26 |
Family
ID=73892111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911374232.2A Active CN112148208B (zh) | 2019-06-28 | 2019-12-27 | 在休眠模式下传送存储器***的内部数据的设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11294597B2 (zh) |
KR (1) | KR20210001546A (zh) |
CN (1) | CN112148208B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI738235B (zh) * | 2020-03-03 | 2021-09-01 | 慧榮科技股份有限公司 | 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置 |
WO2022193144A1 (en) * | 2021-03-16 | 2022-09-22 | Micron Technology, Inc. | Read operations for active regions of memory device |
US20240078024A1 (en) * | 2021-04-28 | 2024-03-07 | Micron Technoloty, Inc. | Light hibernation mode for memory |
CN113467841B (zh) * | 2021-05-17 | 2024-06-11 | 翱捷智能科技(上海)有限公司 | 一种双操作***设备及其快速休眠及唤醒的方法 |
JP2023040578A (ja) * | 2021-09-10 | 2023-03-23 | キオクシア株式会社 | メモリシステムおよび制御方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102272734A (zh) * | 2009-01-05 | 2011-12-07 | 马维尔国际贸易有限公司 | 使用非易失性存储器设备用于休眠或挂起的方法和*** |
CN106062814A (zh) * | 2014-04-09 | 2016-10-26 | 英特尔公司 | 由图形处理器改进的成组存储器存取效率 |
CN106775609A (zh) * | 2015-11-19 | 2017-05-31 | 飞思卡尔半导体公司 | 用于减少休眠及恢复时间的***及方法 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7752417B2 (en) | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
KR100823171B1 (ko) | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
US9720616B2 (en) | 2008-06-18 | 2017-08-01 | Super Talent Technology, Corp. | Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED) |
US8671258B2 (en) | 2009-03-27 | 2014-03-11 | Lsi Corporation | Storage system logical block address de-allocation management |
US20120110259A1 (en) | 2010-10-27 | 2012-05-03 | Enmotus Inc. | Tiered data storage system with data management and method of operation thereof |
US8621603B2 (en) | 2011-09-09 | 2013-12-31 | Lsi Corporation | Methods and structure for managing visibility of devices in a clustered storage system |
US9311228B2 (en) | 2012-04-04 | 2016-04-12 | International Business Machines Corporation | Power reduction in server memory system |
US8583840B1 (en) | 2012-04-25 | 2013-11-12 | Lsi Corporation | Methods and structure for determining mapping information inconsistencies in I/O requests generated for fast path circuits of a storage controller |
KR101420754B1 (ko) | 2012-11-22 | 2014-07-17 | 주식회사 이에프텍 | 비휘발성 메모리 시스템 및 이를 위한 맵핑 테이블 관리 방법 |
KR102049265B1 (ko) | 2012-11-30 | 2019-11-28 | 삼성전자주식회사 | 최대절전 모드를 가지는 시스템 및 그 동작방법 |
WO2014110095A1 (en) | 2013-01-08 | 2014-07-17 | Violin Memory Inc. | Method and system for data storage |
US9229854B1 (en) | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US20150331624A1 (en) | 2014-05-19 | 2015-11-19 | Kabushiki Kaisha Toshiba | Host-controlled flash translation layer snapshot |
JP2016014957A (ja) * | 2014-07-01 | 2016-01-28 | 株式会社東芝 | ストレージ装置及びそのデータ処理方法 |
US10540275B2 (en) | 2014-12-22 | 2020-01-21 | Sony Corporation | Memory controller, information processing system, and memory extension area management method |
CN104733882B (zh) | 2015-03-09 | 2024-05-03 | 连展科技(深圳)有限公司 | 直立型插座电连接器 |
JP6460940B2 (ja) * | 2015-08-06 | 2019-01-30 | 東芝メモリ株式会社 | 記憶装置およびデータ退避方法 |
US10331364B2 (en) | 2015-10-16 | 2019-06-25 | Cnex Labs, Inc. | Method and apparatus for providing hybrid mode to access SSD drive |
CN105404597B (zh) | 2015-10-21 | 2018-10-12 | 华为技术有限公司 | 数据传输的方法、设备及*** |
US10229051B2 (en) | 2015-12-30 | 2019-03-12 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device |
US10198198B2 (en) * | 2016-01-11 | 2019-02-05 | Toshiba Memory Corporation | Storage device that stores setting values for operation thereof |
US20170300422A1 (en) | 2016-04-14 | 2017-10-19 | Micron Technology, Inc. | Memory device with direct read access |
US10157004B2 (en) | 2016-04-14 | 2018-12-18 | Sandisk Technologies Llc | Storage system and method for recovering data corrupted in a host memory buffer |
KR102651425B1 (ko) | 2016-06-30 | 2024-03-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102667430B1 (ko) | 2016-08-04 | 2024-05-23 | 삼성전자주식회사 | 호스트 메모리를 이용하는 데이터 저장 장치 및 그것의 동작 방법 |
US10503635B2 (en) | 2016-09-22 | 2019-12-10 | Dell Products, Lp | System and method for adaptive optimization for performance in solid state drives based on segment access frequency |
US10459644B2 (en) | 2016-10-28 | 2019-10-29 | Western Digital Techologies, Inc. | Non-volatile storage system with integrated compute engine and optimized use of local fast memory |
US10489313B2 (en) | 2016-10-31 | 2019-11-26 | Alibaba Group Holding Limited | Flash storage failure rate reduction and hyperscale infrastructure robustness enhancement through the MRAM-NOR flash based cache architecture |
US10635584B2 (en) | 2017-06-29 | 2020-04-28 | Western Digital Technologies, Inc. | System and method for host system memory translation |
US10592408B2 (en) | 2017-09-13 | 2020-03-17 | Intel Corporation | Apparatus, computer program product, system, and method for managing multiple regions of a memory device |
JP2019056972A (ja) | 2017-09-19 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステムおよびメモリシステムの制御方法 |
US10970226B2 (en) | 2017-10-06 | 2021-04-06 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
JP6982468B2 (ja) | 2017-10-27 | 2021-12-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10929285B2 (en) | 2018-02-27 | 2021-02-23 | Western Digital Technologies, Inc. | Storage system and method for generating a reverse map during a background operation and storing it in a host memory buffer |
KR102624911B1 (ko) | 2018-06-13 | 2024-01-12 | 삼성전자주식회사 | 개선된 메타 데이터 관리를 통한 플래시 메모리의 내구성 향상 방법 |
KR20200022179A (ko) | 2018-08-22 | 2020-03-03 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법 |
KR20200088635A (ko) | 2019-01-15 | 2020-07-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10860228B1 (en) | 2019-06-24 | 2020-12-08 | Western Digital Technologies, Inc. | Method to switch between traditional SSD and open-channel SSD without data loss |
US11138108B2 (en) | 2019-08-22 | 2021-10-05 | Micron Technology, Inc. | Logical-to-physical map synchronization in a memory device |
-
2019
- 2019-06-28 KR KR1020190077806A patent/KR20210001546A/ko active Search and Examination
- 2019-12-27 CN CN201911374232.2A patent/CN112148208B/zh active Active
-
2020
- 2020-01-03 US US16/734,075 patent/US11294597B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102272734A (zh) * | 2009-01-05 | 2011-12-07 | 马维尔国际贸易有限公司 | 使用非易失性存储器设备用于休眠或挂起的方法和*** |
CN106062814A (zh) * | 2014-04-09 | 2016-10-26 | 英特尔公司 | 由图形处理器改进的成组存储器存取效率 |
CN106775609A (zh) * | 2015-11-19 | 2017-05-31 | 飞思卡尔半导体公司 | 用于减少休眠及恢复时间的***及方法 |
Also Published As
Publication number | Publication date |
---|---|
US11294597B2 (en) | 2022-04-05 |
CN112148208A (zh) | 2020-12-29 |
KR20210001546A (ko) | 2021-01-06 |
US20200409602A1 (en) | 2020-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11294825B2 (en) | Memory system for utilizing a memory included in an external device | |
CN112148208B (zh) | 在休眠模式下传送存储器***的内部数据的设备和方法 | |
CN112445723A (zh) | 用于在存储器***中的传输映射信息的装置和方法 | |
US11275525B2 (en) | Apparatus and method for improving write throughput of memory system | |
CN110806837B (zh) | 数据处理***及其操作方法 | |
CN111581121B (zh) | 用于管理存储器***中的映射数据的方法和设备 | |
CN112148632A (zh) | 用于改善存储器***的输入/输出吞吐量的设备和方法 | |
CN113900586A (zh) | 存储器***及其操作方法 | |
US20210279180A1 (en) | Apparatus and method for controlling map data in a memory system | |
US11681633B2 (en) | Apparatus and method for managing meta data in memory system | |
CN111752474A (zh) | 控制存储器***的写入操作的设备和方法 | |
CN112148533A (zh) | 将数据存储在存储器***的mlc区域中的设备和方法 | |
CN110781097A (zh) | 用于控制元数据以接合多个存储器***的设备和方法 | |
CN111831215A (zh) | 用于在存储器***中传输映射信息的装置 | |
CN112181280A (zh) | 传送存储器***中的映射信息和读取计数的设备和方法 | |
KR20200122685A (ko) | 메모리 시스템 내에서 서로 다른 종류의 데이터를 처리하기 위한 장치 및 방법 | |
CN111435334B (zh) | 在存储器***中检查有效数据的设备和方法 | |
CN110806983B (zh) | 存储器***及其操作方法 | |
CN113010098A (zh) | 用于提高存储器***的输入/输出吞吐量的设备和方法 | |
US20200250104A1 (en) | Apparatus and method for transmitting map information in a memory system | |
CN112445424A (zh) | 提高存储器***的输入/输出吞吐量的设备和方法 | |
CN116204112A (zh) | 存储器控制器及其操作方法 | |
CN114647594A (zh) | 非易失性存储器***中的日志记录设备和方法 | |
CN113050881A (zh) | 提高存储器***输入/输出吞吐量的设备和方法 | |
CN112416818A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |