CN102301348A - 主机请求映射的***和方法 - Google Patents
主机请求映射的***和方法 Download PDFInfo
- Publication number
- CN102301348A CN102301348A CN2010800059255A CN201080005925A CN102301348A CN 102301348 A CN102301348 A CN 102301348A CN 2010800059255 A CN2010800059255 A CN 2010800059255A CN 201080005925 A CN201080005925 A CN 201080005925A CN 102301348 A CN102301348 A CN 102301348A
- Authority
- CN
- China
- Prior art keywords
- address
- data storage
- request
- storage device
- main frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/206—Memory mapped I/O
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Memory System (AREA)
Abstract
公开了用于读数据的***和方法。在一个具体实施例中,数据存储器件包括适配为将数据存储器件耦接于主机的主机接口。主机包括可由主机存储器地址空间寻址的存储器。数据存储器件还包括与主机存储器地址空间无关的器件地址空间。该器件地址空间包括第一地址区域和第二地址区域,其中,第二地址区域不同于第一地址区域。数据存储器件还包括非易失性存储器阵列和耦接于非易失性存储器阵列且还耦接于映射的设备的控制器。该控制器适配为响应于来自主机的访问器件地址空间的第一地址区域的第一请求,在非易失性存储器阵列处进行存储器访问操作。所述控制器还适配为响应于来自主机的访问器件地址空间的第二地址区域的第二请求,将该第二请求映射到映射的设备。
Description
技术领域
本公开一般涉及将主机存储器访问请求映射到设备***命令。
背景技术
在供电周期之间保持数据的非易失性存储器器件、比如通用串行总线(USB)闪存器件或可移除存储卡已考虑到数据和软件应用的增加的可移植性(portability)。当主机可访问多个器件、比如存储器阵列和在可移除存储卡中的开关或按钮时,存储卡可以实现用于存储器阵列的大容量存储类(MassStorage Class,MSC)和用于开关或按钮的人机接口设备(Human InterfaceDevice,HID)类。使能对产品的多个USB器件的主机访问通常增加了由该产品使用的USB端点的数量和该产品中的缓冲器的数量。
发明内容
公开了映射主机访问请求的***和方法。主机访问请求可以被标识为与被映射到除了存储器以外的设备的存储器地址对应的存储器访问请求。例如,存储器访问请求可以被映射到诸如数据存储器件内的开关或总线控制器的***设备,或可以被映射到数据存储器件外部的外部设备。在通用串行总线(USB)实现方式中,该映射可以使得主机能够访问或控制映射的设备,而不用实现另外的USB器件类。
附图说明
图1是映射主机访问请求的***的第一具体实施例的方框图;
图2是映射主机访问请求的***的第二具体实施例的方框图;
图3是图示映射主机访问请求的***的数据地址空间的图;
图4是图示将主机访问请求映射到外部设备的***的具体实施例的图;
图5是映射主机访问请求的方法的第一具体实施例的流程图;
图6是映射主机访问请求的方法的第二具体实施例的流程图;以及
图7是映射主机访问请求的方法的第三具体实施例的流程图。
具体实施方式
参考图1,描述了映射主机访问请求的***的具体实施例,且总的表示为100。***100包括耦接于数据存储器件104的主机102。数据存储器件104包括控制器122和器件地址空间130,器件地址空间130包括第一地址区域132和第二地址区域134。控制器122被配置以通过在诸如非易失性存储器阵列124的存储器阵列处开始存储器操作来响应访问第一地址区域132的请求,并通过将存储器访问请求映射到映射的设备126来响应访问第二地址区域134的请求。因为第一地址区域132对应于在非易失性存储器阵列124处的可寻址存储器,但第二地址区域134可能不对应于在非易失性存储器阵列124处的可寻址存储器,因此器件地址空间130可以包括超过非易失性存储器阵列124的存储器的可寻址量的地址范围。
在一个具体实施例中,主机102包括可由主机存储器地址空间寻址的存储器110。主机102可以具有操作***162。在一些实施例中,主机102还可以包括在主机存储器地址空间中的至少一个文件164。主机102被配置以生成对于数据存储器件104的一个或多个请求。例如,请求106可以向数据存储器件104的映射的设备126发送设置或值,或可以从数据存储器件104的映射的设备126请求状态或值。主机102还被配置以从数据存储器件104接收数据,比如包括由映射的设备126生成的数据的映射的设备数据108。
数据存储器件104包括主机接口120、控制器122、非易失性存储器阵列124、和映射的设备126。主机接口120适用于将数据存储器件104耦接于主机102。在一个具体实施例中,主机接口120包括可从主机102拆卸的通用串行总线(USB)接口。虽然主机接口120被描绘为与控制器122分离,在其他实施例中,主机接口120的至少一部分是控制器122的组件。
在一个具体实施例中,非易失性存储器阵列124包括闪存阵列。非易失性存储器阵列124可经由器件地址空间130的第一地址区域132寻址。在一个具体实施例中,器件地址空间130与主机存储器地址空间无关。器件地址空间130包括第一地址区域132和第二地址区域134。第一地址区域132被映射到非易失性存储器阵列124的存储器位置,用于数据存储和取回。例如,从主机102接收的到第一地址区域132的存储请求由控制器122映射到在非易失性存储器阵列124处的存储器存储操作。第二地址区域134对应于映射的设备126且与第一地址区域132不同。如所示,第二地址区域134包括在非易失性存储器阵列124的可用存储器扇区以外的存储器地址区域。如在此使用的,非易失性存储器阵列124的“可用存储器扇区”是用户可见或用户可访问的非易失性存储器阵列124的扇区,比如在非易失性存储器阵列124的公共区中的扇区或在验证或授权处理之后用户可访问的非公共区中的扇区,作为例示的非限制性的例子。在一个具体实施例中,第一地址区域132可以对应于非易失性存储器阵列124的所有可用的存储器扇区(即,用户可见或用户可访问的存储器扇区),且在第二地址区域134内没有存储器地址可以对应于存储器阵列124的可用位置。在另一实施例中,非易失性存储器阵列124的至少一个可用扇区可经由第二地址区域134访问,但不可经由第一地址区域132访问。
在一个具体实施例中,第二地址区域134与隐藏的存储区内的存储器相关联。隐藏的存储区可以包括不可用于存储用户数据且不可作为文件***的部分而对主机102可见的非易失性存储器阵列124的一部分。例如,隐藏的存储区包括U3隐藏区、受信快闪(TrustedFlashTM)隐藏区、受信快闪安全数据对象(SDO)和可由电气和电子工程师协会IEEE 1667存储仓(silo)命令寻址的存储位置中的至少一个。
控制器122被配置以从主机102经由主机接口120接收请求,且控制对非易失性存储器阵列124的读和写访问。控制器122还被配置以选择性地映射来自主机102的读和写请求到映射的设备126。例如,当请求106包括对第二地址区域134的写访问的请求时,控制器122可以适配为响应于请求106将请求136导向映射的设备126作为来自主机的请求。请求136可以包括要应用于映射的设备126的设置或值,比如由主机102随请求106提供的值160。作为另一例子,当请求106包括对第二地址区域134的读访问的请求时,控制器122可以适配为响应于请求106,将请求136导向映射的设备126,请求136包括对与映射的设备126对应的数据的请求。
在一个具体实施例中,控制器122被配置以将经由请求106接收的数据、比如值160存储在非易失性存储器阵列124处,并在初始化处理期间向映射的设备126提供存储的数据。例如,控制器122可以在对应于第一地址区域132或第二地址区域134的非易失性存储器阵列124的存储器位置处存储用于映射的设备126的设置,且可以在通电处理期间向映射的设备126提供存储的设置。
映射的设备126提供未由对第一地址区域132的通用串行总线(USB)大容量存储类访问提供的功能。例如,所述映射的设备126可以包括用户输入设备、打印机、扫描仪、摄像机、蜂鸣器、发光二极管(LED)、警报器、智能卡、温度传感器、光传感器、化学传感器、模拟到数字转换器件、时钟、计时器、加速计、开关、继电器和数字到模拟转换器件。在一个具体实施例中,映射的设备126是总线控制器,比如用于***组件互连(PCI)总线、集成电路间(I2C)总线、一布线(OneWireTM)总线、串行总线、并行总线、任何其他总线类型、或其任意组合的控制器。
在操作期间,数据存储器件104可以被配置以响应于来自主机102的对第二地址区域134的读访问的请求来提供映射的设备126的值。数据存储器件104还可以被配置以响应于来自主机102的对第二地址区域134的写访问的请求来设置映射的设备126的值。因此,通过提供经由存储器映射对映射的设备126的访问,数据存储器件104可被主机102访问,作为单个端点和作为大容量存储类(MSC)器件。在USB实施方式中,主机102可以使用MSC器件类来访问非易失性存储器阵列124的功能,且还可以不安装用于映射的设备126的另外的USB器件类驱动器而访问映射的设备126的非MSC功能。USB器件类可以利用多个逻辑信道或“管线(pipe)”用于通信,每个管线被分配到USB器件处的对应端点。在USB实施方式中,可用于器件的管线的总数可能受限,且每个管线可能需要在主机102处或在数据存储器件104处的缓冲器来缓冲用于经由USB总线传输的数据。相比于实现多个器件类,通过实现用于数据存储器件104的MSC器件类且使能经由存储器映射来访问映射的设备126,管线、器件驱动器和缓冲器的数量可以减少。
为了例示,在一个具体实施例中,当请求106是包括要写入第二地址区域134的值160的写请求时,控制器122使用值160来调整映射的设备126的一个或多个参数。当请求106是读第二地址区域134的读请求时,控制器122将该请求106翻译为从映射的设备126读数据的指令,并向映射的设备发送请求136。映射的设备126可以响应于读请求136而提供映射的设备126的值作为映射的设备数据138。
例如,作为映射的设备数据138而提供的值可以包括状态指示符、开关设置或任何其他设备信息。映射的设备数据138可以从映射的设备126提供给控制器122,且控制器122可以被配置以将映射的设备数据138作为映射的设备数据108发送给主机102。
在另一实施例中,映射的设备数据138可以被存储在非易失性存储器阵列124处。例如,在第二地址区域134与非易失性存储器阵列124的可用存储器相关联的实施例中,映射的设备数据138可以被存储在第二地址区域134,以由主机102经由访问第二地址区域134的存储器读请求来取回。作为另一例子,比如当第二地址区域134不对应于可用存储器时,映射的设备数据138可以被存储在第一地址区域132处。在第一地址区域132处的映射的设备数据138的位置可以被主机102所知,且可经由主机102发起的对该具***置的存储器读请求而访问。或者,控制器122可以以对主机102透明的方式管理从第一地址区域132取回映射的设备数据138。
在一个具体实施例中,第二地址区域134由主机102使用文件164间接访问。可以通过主机102的操作***162将文件164与第二地址区域134相关联。在另一实施例中,第二地址区域134由主机102直接访问,而不使用文件164。
在一个具体实施方式中,来自主机102的命令由控制器122映射到在非易失性存储器阵列124外部的映射的设备126。可以依照安全协议来传送该命令,且控制器122从主机102接收与映射的设备126器件相关联的标识符。在一个具体实施例中,安全协议是小型计算机***接口(SCSI)协议。该命令符合电气和电子工程师协会IEEE标准1667。
例如,数据存储器件104可以包括可寻址内容目标(ACT),其包括依照IEEE 1667的第一存储仓。探测(probe)命令可以向主机102返回对于在ACT中实施的每个存储仓的存储仓类型标识符,包括用于映射的设备126的第二存储仓的存储仓类型标识符。主机102可以经由第二存储仓的存储仓类型标识符确定映射的设备126的存在,且还可以确定为该存储仓类型定义的命令以提供接口来访问第二地址区域134。
在SCSI安全协议实施方式中,主机102可以生成包括标识映射的设备的存储仓的SCSI安全协议出命令的请求106,该SCSI安全协议出命令是存储仓类型支持的设备命令,且可以包括诸如值160的一个或多个值。控制器122可以翻译请求106,且经由请求136向映射的设备126提供设备命令。主机102还可以向数据存储器件104发送SCSI安全协议入命令。安全协议入命令可以被控制器122翻译为读取响应于设备命令而提供的映射的设备数据138的请求。控制器122可以开始以由映射的设备126的存储仓类型指定的格式向主机102发送映射的设备数据108。在数据存储器件104包括或支持诸如***设备的多个设备的实施例中,非易失性存储器阵列124可以包括与各设备相关联以使能由主机102访问的多个存储仓类型,和/或与多个设备相关联的单个存储仓类型。
如将参考图3所讨论的,器件地址空间130还可以包括一个或多个另外的地址区域。例如,所述器件地址空间130可以包括第三地址区域,且来自主机102的访问第三地址区域的请求可以被控制器122映射到第二映射的设备。如参考图4将讨论的,映射的设备126可以是经由设备接口耦接于数据存储器件104的第一外部设备,且第二映射的设备可以是经由第二设备接口耦接于数据存储器件104的第二外部设备。
通过将对于第二地址区域134的访问请求映射到映射的设备126来使能主机对非易失性存储器阵列124的访问以及还使能主机对映射的设备126的访问,不同器件类的数据存储器件102的多个组件对于主机102而言可使用单个连接端点访问。例如,在USB实施方式中,经由单个MSC设备接口可访问非易失性存储器阵列124和映射的设备126。这种实施方式可以减小支持映射的设备126作为单独的USB类可能需要的USB端点和缓冲器的数量。
参考图2,描绘了映射主机访问请求的***的第二具体实施例,且其总的表示为200。***200包括耦接于数据存储器件204的主机202。主机202包括可由主机存储器地址空间访问的主机存储器210。数据存储器件204包括与主机存储器地址空间无关的器件地址空间230。器件地址空间230包括被映射到非易失性存储器阵列224的第一地址区域232和被映射到映射的设备226的第二地址区域234。在一个具体实施例中,***200的一个或多个组件可以基本类似于图1的***100的对应组件而工作。
映射的设备226可由主机202经由访问第二地址区域234的请求206而访问。控制器222被配置以将请求206标识为对第二地址区域234的写或读请求且向映射的设备226发送请求236。当请求206是写请求时,请求236可以设置映射的设备226的参数。当请求206是读请求时,请求236可以指示对于来自映射的设备226的设置或其他数据的值的请求。
映射的设备226被配置以生成要发送到主机202的请求240。请求240可以包括访问第二地址区域234的请求。请求240可以被控制器222映射到主机202,且控制器222可以开始经由主机接口220向主机202发送请求242。请求242可以对应于请求240。
在一个具体实施例中,请求240可以被存储在非易失性存储器阵列224处以在存储器读请求期间由主机202访问。在另一实施例中,比如在主机接口220包括使USB器件能够向USB主机发送请求的USB3.0接口的情况下,请求240可以由映射的设备226提供给控制器222,且控制器222可以开始经由主机接口220向主机202发送请求242。
参考图3,绘出了映射存储器请求的***的具体实施例,且其总的表示为300。***300包括数据地址空间302,该数据地址空间302包括第一地址区域304、第二地址区域306和第三地址区域308。第一地址区域304可以包括对应于在数据存储器件、比如图1的数据存储器件104或图2的数据存储器件204中的可用物理存储器的地址范围。第二地址区域306和第三地址区域308越过了最后可用的存储器地址310。
第二地址区域306可以被存储器控制器映射为对应于物理存储器外部的具体设备,比如图1的映射的设备126或图2的映射的设备226。类似地,第三地址区域208可以被存储器控制器标识为被映射到第二设备。虽然图3描述第二地址区域306和第三地址区域308,但是在其他实施例中,数据地址空间302可以包括越过最后可用存储器地址310的单个地址区域、或在最后可用存储器地址310之外的三个或更多地址区域。
在USB实施方式中,数据地址空间302可以对应于经由USB MSC设备接口访问的存储器器件。在存储器外部的多个设备可以被映射,以便它们可由主机设备访问,而不用被添加为USB器件。
参考图4,描绘了映射主机访问请求的***的具体实施例,且其总的表示为400。***400包括耦接于数据存储器件404的主机402。数据存储器件404耦接于外部设备406和第二外部设备408,比如一个或多个***设备。在例示实施例中,数据存储器件404是图1的数据存储器件104或图2的数据存储器件204。
在一个具体实施例中,数据存储器件404包括主机接口420、非易失性存储器阵列424、设备接口450和第二设备接口452。主机接口420被配置以将数据存储器件404耦接于主机402。主机接口420还被配置以使主机402能够向数据存储器件404发送存储器访问请求。主机接口420还被配置以向主机402提供数据,比如从非易失性存储器阵列424取回的数据、经由设备接口450取回的数据、或经由第二设备接口452取回的数据。在一个具体实施例中,主机接口420包括适配为将数据存储器件404可拆卸地耦接于主机402的USB接口。
在一个具体实施例中,设备接口450适配为耦接于外部设备406,且第二设备接口452适配为耦接于第二外部设备408。主机接口420可以实施USB接口,且数据存储器件404可以使主机402能够通过将访问请求映射到非易失性存储器阵列424来访问外部设备406和第二外部设备408。因此,设备接口450和第二设备接口452不代表(represent)USB端点。
在一个具体实施例中,数据存储器件404被配置以将来自主机402的命令映射到非易失性存储器阵列424或映射到外部设备406或第二外部设备408,而不将第一外部设备406和第二外部设备408实现为另外的USB器件。例如,第一外部设备406和第二外部设备408可以由从主机402发送的对分别被映射到第一外部设备406和第二外部设备408的地址范围的存储器访问请求来访问。例如,非易失性存储器阵列424可以由图3的数据地址空间302访问,以便外部设备406可经由对第二地址区域306的访问请求而访问,且第二外部设备408可经由对第三地址区域308的访问请求而访问。
参考图5,描绘了映射主机访问请求的方法的第一具体实施例,且其总的表示为500。在一个具体实施例中,方法500可以由图1的数据存储器件104、图2的数据存储器件204、或图4的数据存储器件404进行。
在502,在通用串行总线(USB)闪存器件处接收来自主机的访问与***设备相关联的闪存地址区域的请求。例如,闪存地址区域可以对应于图1的数据存储器件104的第二地址区域134,且***设备可以对应于图1的映射的设备126。在另一具体实施例中,外部设备可以对应于图4的外部设备406。
前进到504,来自主机的访问与***设备相关联的闪存地址区域的请求被映射到所述***设备。例如,当该请求是写请求时,该请求可以被映射为向***设备发送的用于设置在***设备处的参数的命令。作为另一例子,当该请求是读请求时,该请求可以被映射为向***设备发送的用于读***设备的配置或状态信息的命令。
因此,主机可以使用访问在器件地址空间内的存储器的请求来访问***设备,且该请求被映射到***设备。因此,不需要支持***设备的USB设备接口以使能主机的访问。
参考图6,描绘了映射主机访问请求的方法的第二具体实施例,且其通常被指定为600。方法600包括在602处,在通用串行总线(USB)闪存器件处接收来自主机的访问与***设备相关联的闪存地址区域的请求。USB闪存器件包括与存储器阵列地址空间相关联的存储器阵列。与***设备相关联的闪存地址区域在该存储器阵列地址空间以外。例如,可以在图1的数据存储器件404、图2的数据存储器件204或图4的数据存储器件404处接收请求。
前进到604,来自主机的访问与***设备相关联的闪存地址区域的请求被映射到所述***设备。在一个具体实施例中,与***设备相关联的闪存地址区域可由主机访问,作为单个端点以及作为大容量类(MSC)器件。
移动到606,可以在USB闪存器件处接收来自***设备的访问与该***设备相关联的闪存地址区域的请求。继续到608,来自***设备的访问与该***设备相关联的闪存地址区域的请求可以被映射到主机。在一个具体实施例中,来自***设备的请求是经由图2的请求242被映射到主机202的请求240。
继续到610,与***设备相关联的一个或多个设置可以被存储在与***设备相关联的闪存地址区域处的USB闪存器件处。前进到612,USB闪存器件可以从主机拆卸,且移动到614,USB闪存器件可以附接到第二主机。继续到616,可以在USB闪存器件处接收来自第二主机的访问与***设备相关联的闪存地址区域的请求。继续到618,来自第二主机的访问与***设备相关联的闪存地址区域的请求可以被映射到该***设备。因此,USB闪存器件可以通过映射访问与***设备相关联的闪存地址区域的请求来使多个主机能够访问***设备。
参考图7,描绘了映射主机访问请求的方法的第三例示实施例,且其通常被指定为700。在702,在通用串行总线(USB)兼容的数据存储器件处接收来自主机的访问目标***设备的请求,其中,该请求符合安全协议且包括与目标***设备相关联的标识符。数据存储器件可以是诸如快闪器件的大容量存储器件。
安全协议可以是小型计算机***接口(SCSI)兼容的。例如,来自主机的命令可以包括小型计算机***接口(SCSI)安全协议的入命令和出命令之一。该请求可以依照电气和电子工程师协会IEEE标准1667。
在一个具体实施例中,标识符是存储仓类型标识符。该标识符可以指示对应于目标***设备的类型的存储仓类型。例如,所述存储仓类型可以对应于发光二极管(LED)。
继续到704,来自主机的请求被映射到要被发送到目标***设备的命令。前进到706,从目标***设备接收的数据被传送到主机。使用SCSI安全协议的出命令来传输数据。
通过使用符合安全协议的请求,主机可以经由数据存储器件与目标***设备通信,而不用数据存储器件实现用于目标***设备的USB设备接口。例如,数据存储器件可以是在使得主机能够访问目标***设备时可由主机访问作为单个端点和作为大容量类(MSC)器件的闪存器件。
虽然在此描述的各个组件被图示为块组件且按通用的术语而描述,但是这种组件可以包括一个或多个微处理器、状态机或被配置以使得图1的数据存储器件104或图2的数据存储器件204能够进行归属于这种组件的具体功能的其他电路,或其任意组合。例如,图1的主机120、控制器122或其两者可以表示物理组件,比如控制器、状态机、逻辑电路、或使得数据存储器件104能够接收来自主机设备或来自其他外部设备的数据请求且通过将对第二地址区域134的主机请求映射到映射的设备126来响应于该数据请求的其他结构。
例如,可以使用被编程以确定来自主机的存储器访问请求是否对应于第二地址区域134并当该请求对应于第二地址区域134时向映射的设备126发送该请求的微处理器或微控制器来实施图1的控制器122。在一个具体实施例中,图1的控制器122包括由处理器执行的可执行指令,且这些指令被存储在存储器指令124处。或者,或另外,由处理器执行的可执行指令可以被存储在不是存储器指令104的部分的分离的存储器位置处,比如存储在控制器122处的只读存储器(ROM)(未示出)处。
在一个具体实施例中,数据存储器件104可以是被配置以选择性地耦接于一个或多个外部设备的便携式设备。但是,在其他实施例中,数据存储器件可以被附接或嵌入在一个或多个主机设备内,比如在便携式通信设备的外壳内。例如,数据存储器件可以在诸如无线电话、个人数字助理(PDA)、游戏设备或控制台、便携式导航设备或使用内部非易失性存储器的其他设备的包装的装置内。在一个具体实施例中,数据存储器件104包括非易失性存储器,比如闪存(例如NAND、NOR、多级单元(MLC)、划分的位线NOR(DINOR)、AND、高电容耦合比(HiCR)、非对称无接触晶体管(ACT)或其他闪存)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、一次可编程存储器(OTP)或任意其他类型的存储器。
在此描述的实施例的例示意图提供各个实施例的结构的大体理解。这些例示不意图用作对使用在此描述的结构或方法的装置和***的所有元素和特征的完整描述。在浏览本公开后,许多其他实施例对本领域技术人员而言将是显而易见的。可以利用其他实施例,且其可以从本公开中得出,以便可以不脱离本公开的范围而做出结构和逻辑上的替换和改变。虽然已经在此例示和描述了具体实施例,但是应该理解,针对所示的具体实施例,可以替换被设计以实现相同或类似目的的任何随后布置。本公开意图覆盖各种实施例的任意和所有随后的适用或变型。在浏览本说明书后,上述实施例的组合以及未在此具体描述的其他实施例对本领域技术人员将是显而易见的。因此,本公开和附图将被视为是例示性的而不是限制性的。
提交了本公开的摘要,理解其将不用于解释或限制权利要求的范围或意思。另外,在前述具体实施方式中,为了使本公开流线化的目的,各种特征可以被分组到一起或在单个实施例中描述。本公开不将被解释为反映所要求保护的实施例需要比在每个权利要求中明确列出的更多特征的意图。而是,如以下权利要求反映的,可以指示本发明的主题少于任意公开的实施例中的所有特征。
上述主题将被认为是例示的而不是限制的,且所附权利要求意图覆盖落入本公开的范围内的所有这种修改、改进和其他实施例。因此,达法律允许的最大限度,本发明的范围要由以下权利要求及其等同物的最大可允许解释来确定,且不应该被前述详细描述限制或局限。
Claims (40)
1.一种数据存储器件,包括:
主机接口,其中,所述主机接口适配为将数据存储器件耦接于主机,所述主机包括可由主机存储器地址空间寻址的存储器;
与主机存储器地址空间无关的器件地址空间,所述器件地址空间包括第一地址区域和第二地址区域,其中,所述第二地址区域不同于所述第一地址区域;
非易失性存储器阵列;以及
控制器,耦接于所述非易失性存储器阵列且还耦接于映射的设备;
其中,所述控制器适配为响应于来自主机的访问所述器件地址空间的第一地址区域的第一请求,在所述非易失性存储器阵列处进行存储器访问操作,以及
其中,所述控制器还适配为响应于来自主机的访问所述器件地址空间的第二地址区域的第二请求,将所述第二请求映射到所述映射的设备。
2.根据权利要求1的数据存储器件,其中,响应于对第二地址区域的读访问的请求,所述数据存储器件提供所述映射的设备的值。
3.根据权利要求2的数据存储器件,响应于对第二地址区域的写访问的请求,所述控制器使用所述值调整所述映射的设备的一个或多个参数。
4.根据权利要求3的数据存储器件,其中,所述控制器被配置以将经由对第二地址区域的写访问的请求而接收的数据存储在所述非易失性存储器处,并在初始化处理期间将存储的数据提供给所述映射的设备。
5.根据权利要求1的数据存储器件,其中,由控制器将来自所述映射的设备的访问第二地址区域的请求映射到所述主机。
6.根据权利要求1所述的数据存储器件,其中,所述主机接口包括可从主机拆卸的通用串行总线USB接口。
7.根据权利要求1的数据存储器件,其中,所述非易失性存储器阵列包括闪存阵列。
8.根据权利要求1的数据存储器件,其中,所述数据存储器件可由主机访问,作为单个端点以及作为大容量类MSC器件。
9.根据权利要求1的数据存储器件,其中,第一地址区域适配为存储数据,且其中,由控制器将存储请求映射到第一地址区域。
10.根据权利要求1的数据存储器件,其中,所述第二地址区域包括非易失性存储器阵列的可用存储器扇区。
11.根据权利要求1的数据存储器件,其中,所述第二地址区域包括除了非易失性存储器阵列的可用存储器扇区以外的存储器地址区域。
12.根据权利要求1的数据存储器件,其中,所述第二地址区域与隐藏存储区内的存储器相关联。
13.根据权利要求12的数据存储器件,其中,所述隐藏存储区包括以下的至少一个:U3隐藏区、受信快闪隐藏区、受信快闪安全数据对象SDO和可由电气和电子工程师协会IEEE 1667存储仓命令寻址的存储位置。
14.根据权利要求1的数据存储器件,其中,所述第二地址区域由主机直接访问。
15.根据权利要求1的数据存储器件,其中,所述第二地址区域由主机使用通过主机的操作***与第二地址区域相关联的至少一个文件来间接访问。
16.根据权利要求1的数据存储器件,其中,所述器件地址空间还包括第三地址区域,且其中由控制器将来自主机的访问第三地址区域的请求映射到第二映射的设备。
17.根据权利要求16的数据存储器件,其中,所述映射的设备是经由设备接口耦接于数据存储器件的第一外部设备,且其中第二映射的设备是经由第二设备接口耦接于数据存储器件的第二外部设备。
18.根据权利要求1的数据存储器件,其中,所述映射的设备与除了大容量存储类以外的通用串行总线USB类相关联。
19.根据权利要求18的数据存储器件,其中,所述映射的设备包括以下之一:用户输入设备、打印机、扫描仪、摄像机、蜂鸣器、发光二极管LED、警报器、智能卡、温度传感器、光传感器、化学传感器、模拟到数字转换器件、时钟、计时器、加速计、开关、继电器和数字到模拟转换器件。
20.根据权利要求18的数据存储器件,其中,所述映射的设备是总线控制器。
21.一种装置,包括:
控制器,其中,所述控制器被配置以耦接于可由与主机存储器地址空间无关的器件地址空间的第一地址区域寻址的非易失性存储器阵列,所述器件地址空间包括第一地址区域和第二地址区域;
其中,所述控制器被配置以经由主机接口从主机接收访问第二地址区域的请求;以及
其中,所述控制器被配置以将所述请求映射到非易失性存储器阵列外部的设备。
22.根据权利要求21的装置,还包括耦接于所述控制器的非易失性存储器阵列。
23.一种方法,包括:
在通用串行总线USB闪存器件处接收来自主机的访问与***设备相关联的闪存地址区域的请求,其中,所述USB闪存器件包括与存储器阵列地址空间相关联的存储器阵列,且其中,与***设备相关联的所述闪存地址区域在所述存储器阵列地址空间以外;以及
将来自主机的访问与***设备相关联的闪存地址区域的请求映射到所述***设备。
24.根据权利要求23的方法,其中,与***设备相关联的闪存地址区域可由主机访问,作为单个端点以及作为大容量类MSC器件。
25.根据权利要求23的方法,还包括:
在USB闪存器件处接收来自***设备的访问与***设备相关联的闪存地址区域的请求;以及
将来自***设备的访问与***设备相关联的闪存地址区域的请求映射到所述主机。
26.根据权利要求23的方法,还包括将与***设备相关联的一个或多个设置存储在与***设备相关联的闪存地址区域处的USB闪存器件处。
27.根据权利要求26的方法,还包括:
将USB闪存器件从主机拆卸;
将USB闪存器件附接到第二主机;
在USB闪存器件处接收来自第二主机的访问与***设备相关联的闪存地址区域的请求;以及
将来自第二主机的访问与***设备相关联的闪存地址区域的请求映射到所述***设备。
28.一种可拆卸通用串行总线USB闪存器件,包括:
USB接口,适配为将可拆卸USB闪存器件耦接于主机,所述主机包括可由主机存储器地址空间寻址的存储器;
设备接口,适配为将可拆卸USB闪存器件耦接于***设备,其中,所述设备接口不同于所述主机接口;
与器件地址空间的第一地址区域相关联的闪存阵列;以及
耦接于闪存阵列的控制器;
其中,所述控制器适配为响应于来自主机的访问器件地址空间的第二地址区域的请求,将来自主机的请求经由所述设备接口映射到所述***设备,其中,所述第二地址区域不同于所述第一地址区域,以及
其中,所述控制器还适配为响应于来自***设备的访问第二地址区域的请求,将来自***设备的请求经由USB接口映射到所述主机。
29.一种方法,包括:
在通用串行总线USB兼容的数据存储器件处,接收来自主机的访问目标***设备的请求,其中,所述请求符合安全协议,且包括与目标***设备相关联的标识符,其中所述数据存储器件是大容量存储器件;以及
将来自主机的请求映射到要被发送到所述目标***设备的命令。
30.根据权利要求29的方法,其中,所述标识符是存储仓类型标识符。
31.根据权利要求29的方法,其中,所述请求符合电气和电子工程师协会IEEE标准1667。
32.根据权利要求29的方法,其中,所述安全协议是小型计算机***接口SCSI兼容的。
33.根据权利要求29的方法,还包括将从目标***设备接收的数据传送给主机。
34.根据权利要求33的方法,其中,使用小型计算机***接口SCSI安全协议的出命令来传送所述数据。
35.根据权利要求29的方法,其中,来自主机的命令包括小型计算机***接口SCSI安全协议的入命令和出命令之一。
36.根据权利要求35的方法,其中,所述标识符指示对应于目标***设备的类型的存储仓类型。
37.根据权利要求36的方法,其中,所述存储仓类型对应于发光二极管LED。
38.根据权利要求29的方法,其中,数据存储器件是可由主机访问作为单个端点或作为大容量类MSC器件的闪存器件。
39.一种数据存储器件,包括:
主机接口,其中所述主机接口适配为将数据存储器件耦接于主机;
非易失性存储器阵列;以及
耦接于所述非易失性存储器阵列的控制器;
其中,所述控制器被配置以将来自主机的命令映射到外部设备,其中,依照安全协议传送所述命令,且其中,所述控制器从主机接收与外部设备相关联的标识符。
40.根据权利要求39的数据存储器件,其中,所述数据存储器件是大容量存储器件,且其中所述外部设备具有人机接口设备HID的类。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/369,408 | 2009-02-11 | ||
US12/369,408 US8386723B2 (en) | 2009-02-11 | 2009-02-11 | System and method of host request mapping |
PCT/US2010/020527 WO2010093487A2 (en) | 2009-02-11 | 2010-01-08 | System and method of host request mapping |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102301348A true CN102301348A (zh) | 2011-12-28 |
CN102301348B CN102301348B (zh) | 2014-10-15 |
Family
ID=42246348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080005925.5A Active CN102301348B (zh) | 2009-02-11 | 2010-01-08 | 主机请求映射的***和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8386723B2 (zh) |
EP (2) | EP2426607A3 (zh) |
KR (1) | KR20110117134A (zh) |
CN (1) | CN102301348B (zh) |
TW (1) | TW201032054A (zh) |
WO (1) | WO2010093487A2 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107209738A (zh) * | 2015-05-02 | 2017-09-26 | 慧与发展有限责任合伙企业 | 储存存储器直接访问 |
CN107526696A (zh) * | 2016-06-20 | 2017-12-29 | 北京忆芯科技有限公司 | 软件定义的sr‑iov模块 |
CN108073360A (zh) * | 2016-11-15 | 2018-05-25 | 三星电子株式会社 | 包括存储装置的计算装置以及计算装置的操作方法 |
CN108701086A (zh) * | 2016-03-02 | 2018-10-23 | 英特尔公司 | 用于通过重新映射地址空间来提供连续可寻址存储器区域的方法和设备 |
CN108733581A (zh) * | 2017-04-14 | 2018-11-02 | 桑迪士克科技有限责任公司 | 交叉点存储器阵列寻址 |
CN109643295A (zh) * | 2016-09-30 | 2019-04-16 | 英特尔公司 | 从发起者节点访问耦合到目标节点的存储器 |
CN112133360A (zh) * | 2019-06-25 | 2020-12-25 | 意法半导体国际有限公司 | 存储器管理设备、***和方法 |
CN114328358A (zh) * | 2022-03-04 | 2022-04-12 | 山东华翼微电子技术股份有限公司 | 一种7位寻址模式i2c控制器访问任意容量存储器的方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9092387B2 (en) * | 2008-12-10 | 2015-07-28 | Micron Technology, Inc. | Non-volatile memory device capable of initiating transactions |
WO2011026530A1 (en) * | 2009-09-07 | 2011-03-10 | Tomtom International B.V. | Navigation apparatus and method of supporting hands-free voice communication |
US8296495B2 (en) * | 2010-07-22 | 2012-10-23 | Sandisk Il Ltd. | Using an add-on storage device for extending the storage capacity of a storage device in a host device |
US8301824B2 (en) * | 2010-07-22 | 2012-10-30 | Sandisk Il Ltd. | Using an add-on storage device for extending the storage capacity of a storage device |
TWI451247B (zh) * | 2010-09-23 | 2014-09-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
US8738843B2 (en) * | 2010-12-20 | 2014-05-27 | Lsi Corporation | Data manipulation during memory backup |
JP5734492B1 (ja) * | 2014-05-08 | 2015-06-17 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
CN107526695B (zh) * | 2016-06-20 | 2021-03-02 | 北京忆芯科技有限公司 | NVMe配置空间实现方法与装置 |
FR3055715B1 (fr) * | 2016-09-08 | 2018-10-05 | Upmem | Methodes et dispositifs pour contourner le cache interne d'un controleur memoire dram evolue |
WO2020117776A1 (en) | 2018-12-03 | 2020-06-11 | Hewlett-Packard Development Company, L.P. | Logic circuitry package |
US11250146B2 (en) | 2018-12-03 | 2022-02-15 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
BR112021010672A2 (pt) * | 2018-12-03 | 2021-08-24 | Hewlett-Packard Development Company, L.P. | Circuitos lógicos |
US10894423B2 (en) | 2018-12-03 | 2021-01-19 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
EP3687817A1 (en) | 2018-12-03 | 2020-08-05 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
EP3681723B1 (en) | 2018-12-03 | 2021-07-28 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
HUE063370T2 (hu) | 2018-12-03 | 2024-01-28 | Hewlett Packard Development Co | Logikai áramkör |
US11338586B2 (en) | 2018-12-03 | 2022-05-24 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
WO2020117198A1 (en) | 2018-12-03 | 2020-06-11 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
KR20210087975A (ko) | 2018-12-03 | 2021-07-13 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 로직 회로 패키지 |
US11038749B2 (en) * | 2018-12-24 | 2021-06-15 | Intel Corporation | Memory resource allocation in an end-point device |
EP3844000B1 (en) | 2019-10-25 | 2023-04-12 | Hewlett-Packard Development Company, L.P. | Logic circuitry package |
CN114063879B (zh) * | 2020-07-31 | 2024-04-09 | 伊姆西Ip控股有限责任公司 | 用于处理操作命令的方法、电子设备和存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327640B1 (en) * | 1997-03-07 | 2001-12-04 | Advanced Micro Devices, Inc. | Overlapping peripheral chip select space with DRAM on a microcontroller with an integrated DRAM controller |
US6148354A (en) * | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
CN1151415C (zh) * | 2001-10-23 | 2004-05-26 | 深圳市朗科科技有限公司 | 电脑外部设备中附加存储功能的方法及其体系结构 |
US7334077B2 (en) * | 2003-10-17 | 2008-02-19 | Renesas Technology America, Inc. | Method and apparatus for smart memory pass-through communication |
US8135363B2 (en) * | 2005-02-12 | 2012-03-13 | Broadcom Corporation | Method and system for an integrated circuit supporting auto-sense of voltage for drive strength adjustment |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US20070136501A1 (en) * | 2005-12-08 | 2007-06-14 | Chang Robert C | Media card command pass through methods |
KR101425181B1 (ko) | 2006-05-29 | 2014-08-01 | 서트게이트 게엠베하 | 다기능 메모리 카드와의 통신 방법 |
DE102006054025A1 (de) | 2006-11-16 | 2008-05-21 | Giesecke & Devrient Gmbh | Datenspeichervorrichtung mit Zusatzfunktion |
US20080293449A1 (en) * | 2007-05-24 | 2008-11-27 | Stephen Barlow | Method and system for partitioning a device into domains to optimize power consumption |
US20090077273A1 (en) * | 2007-09-18 | 2009-03-19 | Barinder Singh Rai | Control Data Transfer |
-
2009
- 2009-02-11 US US12/369,408 patent/US8386723B2/en active Active
-
2010
- 2010-01-08 KR KR1020117018191A patent/KR20110117134A/ko not_active Application Discontinuation
- 2010-01-08 EP EP11187453A patent/EP2426607A3/en not_active Withdrawn
- 2010-01-08 CN CN201080005925.5A patent/CN102301348B/zh active Active
- 2010-01-08 EP EP10700774.2A patent/EP2396728B1/en active Active
- 2010-01-08 WO PCT/US2010/020527 patent/WO2010093487A2/en active Application Filing
- 2010-01-18 TW TW099101235A patent/TW201032054A/zh unknown
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107209738A (zh) * | 2015-05-02 | 2017-09-26 | 慧与发展有限责任合伙企业 | 储存存储器直接访问 |
CN107209738B (zh) * | 2015-05-02 | 2020-01-10 | 慧与发展有限责任合伙企业 | 储存存储器直接访问 |
CN108701086A (zh) * | 2016-03-02 | 2018-10-23 | 英特尔公司 | 用于通过重新映射地址空间来提供连续可寻址存储器区域的方法和设备 |
CN107526696A (zh) * | 2016-06-20 | 2017-12-29 | 北京忆芯科技有限公司 | 软件定义的sr‑iov模块 |
CN107526696B (zh) * | 2016-06-20 | 2020-12-29 | 北京忆芯科技有限公司 | 软件定义的sr-iov模块 |
CN109643295A (zh) * | 2016-09-30 | 2019-04-16 | 英特尔公司 | 从发起者节点访问耦合到目标节点的存储器 |
CN109643295B (zh) * | 2016-09-30 | 2023-11-10 | 太浩研究有限公司 | 从发起者节点访问耦合到目标节点的存储器 |
CN108073360A (zh) * | 2016-11-15 | 2018-05-25 | 三星电子株式会社 | 包括存储装置的计算装置以及计算装置的操作方法 |
CN108073360B (zh) * | 2016-11-15 | 2024-01-23 | 三星电子株式会社 | 包括存储装置的计算装置以及计算装置的操作方法 |
CN108733581A (zh) * | 2017-04-14 | 2018-11-02 | 桑迪士克科技有限责任公司 | 交叉点存储器阵列寻址 |
CN108733581B (zh) * | 2017-04-14 | 2022-09-02 | 桑迪士克科技有限责任公司 | 交叉点存储器阵列寻址 |
CN112133360A (zh) * | 2019-06-25 | 2020-12-25 | 意法半导体国际有限公司 | 存储器管理设备、***和方法 |
CN114328358A (zh) * | 2022-03-04 | 2022-04-12 | 山东华翼微电子技术股份有限公司 | 一种7位寻址模式i2c控制器访问任意容量存储器的方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20110117134A (ko) | 2011-10-26 |
WO2010093487A3 (en) | 2010-12-16 |
EP2396728B1 (en) | 2014-07-23 |
US8386723B2 (en) | 2013-02-26 |
EP2396728A2 (en) | 2011-12-21 |
US20100205350A1 (en) | 2010-08-12 |
CN102301348B (zh) | 2014-10-15 |
WO2010093487A2 (en) | 2010-08-19 |
EP2426607A2 (en) | 2012-03-07 |
TW201032054A (en) | 2010-09-01 |
EP2426607A3 (en) | 2012-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102301348B (zh) | 主机请求映射的***和方法 | |
USRE48997E1 (en) | Memory system in which extended function can easily be set | |
US8412909B2 (en) | Defining and changing spare space and user space in a storage apparatus | |
KR101395778B1 (ko) | 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 | |
KR102565895B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US9032135B2 (en) | Data protecting method, memory controller and memory storage device using the same | |
KR20160024995A (ko) | 지속 메모리에 대한 블록 저장 애퍼처들 | |
JP2021043708A (ja) | メモリシステム | |
JP5143601B2 (ja) | 情報処理装置と情報処理方法およびストレージシステム | |
WO2009044262A2 (en) | Multimode device | |
CN105426265A (zh) | 具有虚拟装置的***和装置以及控制虚拟装置的方法 | |
CN106155918B (zh) | 电子控制单元的校准存储器控制方法及装置 | |
CN112306783A (zh) | 存储器控制器及其操作方法 | |
CN115708042A (zh) | 储存装置、存储器装置及其操作方法 | |
US7644247B2 (en) | System controller for flash memory | |
US20070226451A1 (en) | Method and apparatus for full volume mass storage device virtualization | |
US8595418B2 (en) | Memory configuring method, memory controller and memory storage apparatus | |
US8595417B2 (en) | Memory configuring method, memory controller and memory storage apparatus | |
CN113836047A (zh) | 存储装置及其操作方法 | |
US20150242338A1 (en) | Memory device and method enabling performance of special operations by application of memory device | |
CN112154410A (zh) | 具有嵌入式地址分辨协议电路***的功率管理集成电路 | |
CN101752012B (zh) | 错误校正控制器及其闪存芯片***与错误校正方法 | |
CN115708050A (zh) | 计算***及其操作方法 | |
CN111290971A (zh) | 控制器、具有其的存储器***及存储器***的操作方法 | |
EP2163990A1 (en) | Memory management system and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Israel Kfar Saba Patentee after: Western data Israel Limited Address before: Israel saaba Patentee before: SANDISK IL Ltd. |