WO2008025238A1 - Storage device with large capacity and method based on flash memory - Google Patents

Storage device with large capacity and method based on flash memory Download PDF

Info

Publication number
WO2008025238A1
WO2008025238A1 PCT/CN2007/002499 CN2007002499W WO2008025238A1 WO 2008025238 A1 WO2008025238 A1 WO 2008025238A1 CN 2007002499 W CN2007002499 W CN 2007002499W WO 2008025238 A1 WO2008025238 A1 WO 2008025238A1
Authority
WO
WIPO (PCT)
Prior art keywords
flash memory
controller
slave
master
data
Prior art date
Application number
PCT/CN2007/002499
Other languages
French (fr)
Chinese (zh)
Inventor
Qingyi Lin
Original Assignee
Fortune Spring Technology (Shenzhen) Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fortune Spring Technology (Shenzhen) Corporation filed Critical Fortune Spring Technology (Shenzhen) Corporation
Publication of WO2008025238A1 publication Critical patent/WO2008025238A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

A storage device with large capacity based on flash memory, adopting master-slave structure, performing communication management with internal communication protocol, comprising external interface, multiple controllers, and semiconductor storage media. And a storing method with large capacity based on flash memory is also provided, including steps of: distributing data to be wrote by a master controller, and transmitting the data and command to each corresponding slave controller one by one according to an internal communication protocol; detecting whether the Ready/Busy signal of each slave controller is set free; when all the Ready/Busy signals corresponding to all the slave controllers are set free, performing next cycle of transmitting of data and command.

Description

一种基于闪存记忆体的大容量存储装置及方法 技术领域  Large-capacity storage device and method based on flash memory
本发明属于闪存记忆体存储领域, 尤其涉及一种基于闪存记忆体的大容量 存储装置及方法。 背景技术 ·  The invention belongs to the field of flash memory storage, and in particular relates to a large-capacity storage device and method based on flash memory. Background technique ·
闪存记忆体和传统的硬盘是目前市场上主流的数据存储媒介。 其中闪存记 忆体最主要的好处在于省电、 具有较小的体积、 抗震性高与可靠度佳等。 市场 上的 USB存储盘、 MP3 播放器、 PMP 个人多媒体播放器与记忆卡等绝大部 分都是以闪存记忆体作为储存的媒介。可以预见地,在强调轻薄短小的趋势下, 闪存记忆体的应用会越来越普及。  Flash memory and traditional hard drives are the mainstream data storage media on the market today. Among them, the main advantages of flash memory are power saving, small volume, high shock resistance and good reliability. Most of the USB storage disks, MP3 players, PMP personal media players and memory cards on the market use flash memory as a storage medium. It is foreseeable that the application of flash memory will become more and more popular under the trend of emphasizing lightness and shortness.
目前市场上闪存记忆体规格涵盖了很多的种类包含 SLC (Single level cell), MLC(multi level cell)和 AG-NAND等, 这些闪存记忆体除了规格上的不同外, 读写数据的方式与效率也有不同。不过以 SLC.的闪存记忆体在读写效率和可靠 度上是最高的, 但其单价较高。 因此目前大都使用 SLC的闪存为主流, 但随着 产品价格不断的压低, 使得产品供货商不得不在其它方面做些妥协, 渐渐的使 用 MLC的厂商也越来越多。 闪存厂商对于 MLC闪存的研发更是不遗余力,.闪 存以每年两倍的复合成长速度在增加。  At present, the flash memory specifications on the market cover many types including SLC (Single level cell), MLC (multi level cell) and AG-NAND. In addition to the differences in specifications, the flash memory has the means and efficiency of reading and writing data. There are also differences. However, the flash memory of SLC. is the highest in terms of read/write efficiency and reliability, but its unit price is high. Therefore, most of the current use of SLC flash memory as the mainstream, but with the continuous decline in product prices, product suppliers have to make some compromises in other areas, and gradually more and more manufacturers using MLC. Flash memory manufacturers have spared no effort in the development of MLC flash memory. Flash memory is increasing at twice the compound growth rate per year.
目前市场上开始有少部份的厂商研发以闪存记忆体硬盘取代传统的硬盘。 主要是看重其省电以及抗震性胜于传统的硬盘。 目前传统硬盘的市场占有率仍 远高于闪存记忆体硬盘, 主要的原因是早期闪存记忆体的成本太高、 供货量不 稳定、 传输速率慢与容量低等问题。 但随着制造闪存记忆体的供货商不断的投 入开发与增加产能, 利用更先进的技术, 使得闪存记忆体的容量一直不断的持 续增加,价格也渐渐合理化, 闪存记忆体不再只局限在小型的移动存储装置上。 预见在未来几年内, 闪存记忆体硬盘极有可能会取代传统式硬盘成为数据储存  At present, a small number of manufacturers have begun to develop and replace traditional hard disks with flash memory hard disks. Mainly to focus on its power saving and shock resistance is better than the traditional hard drive. At present, the market share of traditional hard disks is still much higher than that of flash memory hard disks. The main reason is that the cost of early flash memory is too high, the supply is not stable, the transmission rate is slow, and the capacity is low. However, as manufacturers of flash memory continue to invest in development and increase production capacity, and using more advanced technologies, the capacity of flash memory continues to increase and the price is gradually rationalized. Flash memory is no longer limited to Small mobile storage device. Foreseeing that in the next few years, flash memory hard drives will most likely replace traditional hard drives as data storage.
1 确认本 的主流媒介。 1 Confirmation Mainstream medium.
当闪存记忆体的技术成熟后, 各家厂商便开始思考如何将闪存记忆体使用 于 IA产品上。 随着闪存记忆体在一些大厂如三星、 东芝等扩厂增加产能之后, 目前所有的移动存储装置产品中, 存储媒介以闪存记忆体的占有率最大。 但闪 存记忆体的存取效率普遍不高, 并且有容量限制的问题, 无法作为在大型系统 上的存储媒介, 主要的原因除了闪存记忆体本身的存取速度造成外, 整个闪存 记忆体存取系统的设计架构更是一个主要的问题。  When the technology of flash memory matures, vendors have begun to think about how to use flash memory for IA products. With the increase in production capacity of flash memory in some large manufacturers such as Samsung and Toshiba, among all mobile storage devices, storage media has the largest share of flash memory. However, the access efficiency of flash memory is generally not high, and there is a problem of capacity limitation, which cannot be used as a storage medium on a large system. The main reason is that the entire flash memory is accessed in addition to the access speed of the flash memory itself. The design of the system is a major issue.
目前闪存记忆体硬盘的设计架构大都以单一闪存记忆体控制器去控制闪 存, 此种方式只能应用在低数量闪存记忆体的系统。 但面对市场上对高容量与 高数量闪存记忆体存储装置的迫切需求与日俱增,单一闪存记忆体控制器系统, 仅能控制少数量的闪存记忆体是不够的。 如何才能控制更多的闪存记忆体来达 到传统硬盘的容量、 如何改善对多闪存记忆体存取时负载电容会降低操作频率 的问题, 以维持较高的工作频率, 从而达到与传统的硬盘相当的速度, 是各家 厂商所亟欲发展的技术。  At present, the design structure of the flash memory hard disk mostly controls the flash memory with a single flash memory controller, which can only be applied to a system with a low amount of flash memory. However, in the face of the increasing demand for high-capacity and high-volume flash memory devices in the market, a single flash memory controller system can only control a small amount of flash memory. How to control more flash memory to achieve the capacity of traditional hard disk, how to improve the load frequency when accessing multi-flash memory will reduce the operating frequency, to maintain a higher operating frequency, thus achieving the equivalent of a traditional hard disk The speed is the technology that every manufacturer wants to develop.
除了容量问题之外, 存取的效率也是一个关键的课题。 传统的硬盘, 其规 格已经发展到了 ULTRA 133, 数据总线频宽每秒可以达到 133 Mbytes, 远远地 超过了闪存记忆体的存取速度。 所以欲利用闪存记忆体来取代传统硬盘, 仍有 一些尚待克服的问题。  In addition to capacity issues, access efficiency is also a key issue. The traditional hard disk has been developed to ULTRA 133, and the data bus bandwidth can reach 133 Mbytes per second, far exceeding the access speed of flash memory. So to replace the traditional hard disk with flash memory, there are still some problems to be overcome.
因此, 现阶段的闪存记忆体硬盘技术, 仍面临着一些问题包含容量上的限 制与数据传输效率不佳等。  Therefore, the current flash memory hard disk technology still faces some problems including capacity limitations and poor data transmission efficiency.
目前因为市场上的闪存记忆体硬盘需求并不是 4艮大, 专门为了此需要开一 颗功能特别的 IC, 需要花费不少费用, 并不符合经济效益成本。 所以如果可以 对目前现有的闪存记忆体控制器的功能加以延伸, 并透过外部的逻辑线路, 使 其可以符合闪存记忆体硬盘的需要, 会是一个不错的选择。 发明内容 本发明实施例的目的在于提供一种基于闪存记忆体的大容量存储装置, 旨 在解决现有技术存储装置存取速度不佳、 容量不易扩充等问题。 At present, because the demand for flash memory memory on the market is not so large, it is costly to open a special IC for this purpose, which is not cost-effective. Therefore, if you can extend the functions of the existing flash memory controller and use external logic to make it meet the needs of the flash memory hard disk, it would be a good choice. Summary of the invention An object of the present invention is to provide a large-capacity storage device based on a flash memory, which aims to solve the problems of poor access speed and capacity expansion of the prior art storage device.
本发明实施例是这样实现的, 一种基于闪存记忆体的大容量存储装置, 采 用主-从架构, 通过内部通信协议进行通信管理来提升存储容量和性能, 包括用 于取代传统硬盘的外部接口界面, 多个控制器, 半导体存储媒介。  The embodiment of the present invention is implemented by using a flash memory-based mass storage device, adopting a master-slave architecture, and performing communication management through an internal communication protocol to improve storage capacity and performance, including an external interface for replacing a traditional hard disk. Interface, multiple controllers, semiconductor storage media.
本发明实施例又一目的在于提供一种基于闪存记忆体的大容量存储方法, 包括下述步骤: 主控制器分配需要写入的数据, 并艮据内部通信协议依序将数 据和命令送到各对应的从控制器;检查每个从控制器的 Ready/Busy信号是否已 经释放; 当所有对应的从控制器的 Ready/Busy信号释放时, 进行下一轮数据和 命令的传送。  Another object of the embodiments of the present invention is to provide a flash memory-based mass storage method, including the following steps: The main controller allocates data to be written, and sequentially sends data and commands according to an internal communication protocol. Each corresponding slave controller; checks whether the Ready/Busy signal of each slave controller has been released; when all the corresponding slave controller's Ready/Busy signals are released, the next round of data and command transmission is performed.
本发明实施例可应用于各种大容量的闪存存储装置上, 达到如目前硬盘的 容量、 传输速度, 从而取代传统硬盘的目的。 而且本发明只需对目前现有的闪 存记忆体控制器的功能加以延伸, 无需专门针对此要求开发专门的闪存硬盘控 制器, 从而降低了研发成本, 缩短了研发周期。 附图说明  The embodiments of the present invention can be applied to various large-capacity flash memory storage devices to achieve the capacity and transmission speed of the current hard disk, thereby replacing the traditional hard disk. Moreover, the present invention only needs to extend the functions of the existing flash memory controller, and it is not necessary to develop a dedicated flash hard disk controller specifically for this requirement, thereby reducing the development cost and shortening the development cycle. DRAWINGS
图 1是本发明实施例控制器脚位的示意图;  1 is a schematic diagram of a controller pin of an embodiment of the present invention;
图 2是本发明实施例多闪存系统的基本架构图;  2 is a basic structural diagram of a multi-flash memory system according to an embodiment of the present invention;
图 3是本发明实施例系统频率示意图;  3 is a schematic diagram of a system frequency according to an embodiment of the present invention;
图 4是本发明实施例控制器启动的流程图;  4 is a flowchart of a controller startup according to an embodiment of the present invention;
图 5是现有技术闪存记忆体控制流程图;  Figure 5 is a flow chart of a prior art flash memory control;
图 6是本发明实施例改进闪存记忆体控制流程图;  6 is a flow chart of improving flash memory control according to an embodiment of the present invention;
图 7是本发明实施例资料写入的流程图;  7 is a flow chart of writing data according to an embodiment of the present invention;
图 8是本发明实施例数据读取流程图;  8 is a flow chart of data reading in an embodiment of the present invention;
图 9是本发明实施例单一控制器在 PCB布局后的信号图; 以及  9 is a signal diagram of a single controller after PCB layout according to an embodiment of the present invention;
图 10是本发明实施例多颗闪存记忆体多重负载电路信号图。 【主要组件符号说明】 FIG. 10 is a signal diagram of a plurality of flash memory multi-load circuit according to an embodiment of the present invention. [Main component symbol description]
100: 闪存记忆体的控制脚位  100: Control pin of flash memory
101: 主 /从的型态选择脚位  101: Master/slave type selection pin
102: 频率输入脚位  102: Frequency input pin
103: 频率输出脚位  103: Frequency output pin
104: ICP信号输入的脚位  104: Pin of ICP signal input
105: ICP信号输出的脚位  105: Pin of ICP signal output
200: 外部 IDE/CF的接口界面  200: External IDE/CF interface
201: 内部系统的总线  201: Bus of the internal system
202: 内部沟通使用的内部通信协议 具体实施方式  202: Internal communication protocol used for internal communication
为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附图及实 施例, 对本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅 仅用以解鋒本发明, 并不用于限定本发明。  The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It is understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
本发明实施例利用多个闪存控制器, 采用主-从 架构的控制方式, 来提升 容量的限制以及性能。  Embodiments of the present invention utilize multiple flash controllers, employing a master-slave architecture control approach to increase capacity limitations and performance.
在这多个控制器中, 主和从控制器有相同数量以及定义的脚位, 内部的逻 辑也相同。 使用者可以利用一个 I/O脚位, 设定控制器是主或是从。 主和从的 内部通信协议透过 Data-in以及 Data-Out传递数据。 其脚位定义如图 1所示。  In these multiple controllers, the master and slave controllers have the same number and defined pins, and the internal logic is the same. The user can use an I/O pin to set whether the controller is master or slave. The master and slave internal communication protocols pass data through Data-in and Data-Out. Its pin definition is shown in Figure 1.
如图 2所示, 任一控制器利用外部控制信号与多芯片间的操作协议, 可以 得知自己是不是一个主控制器。 主控制器可以选择连不连接闪存记忆体, 但其 最主要的目的是在收到外部存取的命令时, 判断要访问哪一个从控制器上的闪 存, 然后透过特有的 ICP(Inter-Chip Protocol), 将存取的命令送到要负责存取闪 存记忆体的从控制器, 然后该从控制器便存取数据, 并透过系统数据总线传回。 此系统数据总线可以为 8、 16或是 32位。 系统启动时, 主控制器需要将系统的 数据配置信息, 建立表格。 主控制器需要知道系统的拓朴架构, 以及外部欲存 取数据所在的闪存记忆体由哪一个控制器所控制 , 以及要如何将数据送到该控 制器。 透过此种方式便可以利用现有的控制器, 轻易的将系统的容量提升。 As shown in Figure 2, any controller can know whether it is a master controller by using an external control signal and an operating protocol between multiple chips. The main controller can choose not to connect to the flash memory, but its main purpose is to determine which slave memory to access when receiving the external access command, and then through the unique ICP (Inter- Chip Protocol), sends the accessed command to the slave controller that is responsible for accessing the flash memory, and then the slave controller accesses the data and transmits it back through the system data bus. This system data bus can be 8, 16, or 32 bits. When the system starts, the main controller needs to set the data configuration information of the system. The host controller needs to know the topology of the system, and which controller the flash memory where the external data is to be accessed is controlled by, and how the data is sent to the controller. In this way, the existing controller can be used to easily increase the capacity of the system.
为了要在主和多颗从控制器之间取得同步 , 主控制器要负责提供频率给从 控制器,如图 3所示。主控制器的频率是来自系统外部的震荡器,经由 CLKJN 信号得到。 此频率经过控制器内的 PLL 电路除频后, 再将除频后的频率经由 CLK— OUT信号传送给所有的从控制器。  In order to synchronize between the master and multiple slave controllers, the master controller is responsible for providing the frequency to the slave controller, as shown in Figure 3. The frequency of the main controller is from the oscillator outside the system and is obtained via the CLKJN signal. This frequency is divided by the PLL circuit in the controller, and the frequency after division is transmitted to all slave controllers via the CLK_OUT signal.
此外, 因为 IDE以及 CF界面的速度均超过闪存记忆体的存储速度, 所以 我们需要一些加速的机制。 闪存记忆体的速度限制在存取每个闪存记忆体时需 要检查此闪存记忆体的 Ready/Busy是否已经释放,如果此时闪存记忆体还处在 忙碌的状况, Ready/Busy没有放下, 则无法对其做写入的动作, 此部分所需要 的等待时间不少。 如图 5所示, 当写入第一颗控制器数据时, 必须确定第一颗 控制器上闪存的 Ready/Busy信号释放时, 才能将数据写入第二颗从控制器。我 们采用数颗控制器同时存取的方法来降低 Ready/Busy所影响的性能,如图 6所 示。假设主控制器要将数据写入从控制器上的闪存时,主控制器将命令和数据 依序利用 ICP传送到该从控制器, 从控制器将数据写入这些闪存。 主传送完之 后便检查每个从控制器对应闪存记忆体的 Ready/Busy信号现是否已经释放。如 果都释放了, 才将下一次要写入的数据以及命令依序的传送到从控制器。 此作 法的好处在于可以省下等待每一个从控制器上闪存 Ready/Busy信号所累积的 时间。  In addition, because the speed of the IDE and CF interfaces exceeds the storage speed of the flash memory, we need some acceleration mechanism. The speed limit of the flash memory needs to check whether the Ready/Busy of the flash memory has been released when accessing each flash memory. If the flash memory is still in a busy state and Ready/Busy is not put down, it cannot be The action required to write to this part requires a lot of waiting time. As shown in Figure 5, when writing the first controller data, it must be determined that the Ready/Busy signal of the flash memory on the first controller is released before the data can be written to the second slave controller. We use several simultaneous access methods to reduce the performance impact of Ready/Busy, as shown in Figure 6. Assuming that the host controller is to write data to the flash memory on the slave controller, the master controller transfers the commands and data to the slave controller in sequence using the ICP, and the slave controller writes data to the flash memory. After the main transfer is completed, it is checked whether the Ready/Busy signal of each slave controller's corresponding flash memory has been released. If it is released, the next data to be written and the commands are transferred to the slave controller in sequence. The advantage of this approach is that it saves the time it takes to wait for each Ready/Busy signal from the controller to flash.
系统启动的流程, 如图 4所示, 每一个控制器会检查本身型态 I/O脚位, 如果电平为高时, 表示此控制器被设定为主控制器, 反之则表示此控制器被设 定为从控制器。 如果此控制器为主控制器, 为了考虑到系统的同步问题, 得先 决定工作频率,此工作频率为使用者的设定值。如果使用者希望有较好的效能, 可以将工作频率设定为一个较高的值, 可是在连接多颗闪存以友控制器时, 将 面临到稳定性的问题。 另外, 关于稳定性的问题如图 9所示, 当电路板上的基 本电路输出的控制信号正常时, 在图面上会呈现 π型。 但当电路所承受的负载 越大, 如电子組件数量过多时, 则会因电路板布局产生高频被虑除或衰减的现 象, 当负载越来越大, 则在信号图上呈现波型。 以图 10为例, 当在电路板上的 控制器连接多颗闪存记忆体时会因为控制器的负载加大, 因此输出信号会产生 很大的高频衰减与相移, 因此在信号图上呈现波型。 因此, 当此现象发生时需 降低所有控制器的工作频率, 以减少高频衰减与相移的产生。 ' The system startup process, as shown in Figure 4, each controller will check its own type I/O pin. If the level is high, it means the controller is set as the master controller, otherwise it means this control. The device is set to the slave controller. If the controller is the master controller, in order to take into account the synchronization problem of the system, the operating frequency must be determined first, and the operating frequency is the set value of the user. If the user wants better performance, the operating frequency can be set to a higher value, but when connecting multiple flash controllers to the friend controller, Faced with stability issues. In addition, the problem regarding stability is as shown in Fig. 9. When the control signal output from the basic circuit on the board is normal, a π type is present on the drawing. However, when the load on the circuit is larger, such as when the number of electronic components is too large, the high frequency is considered or attenuated due to the layout of the board. When the load is larger, the waveform is presented on the signal diagram. Taking Figure 10 as an example, when the controller on the board is connected to multiple flash memories, the load on the controller will increase, so the output signal will generate a large high-frequency attenuation and phase shift, so on the signal diagram. Present the wave pattern. Therefore, when this phenomenon occurs, the operating frequency of all controllers needs to be reduced to reduce the high frequency attenuation and phase shift. '
主控制器然后需要知道系统的拓朴架构, 知道哪一个控制器控制什么逻辑 扇区范围之内的数据。 因为主和从可以有各自的管理方式, 所以主无法确定的 知道逻辑扇区数据在从控制器的放置位置(闪存记忆体位置)和方式, 只能透过 ICP通知从告知想要什么逻辑扇区的数据。 当拓朴结构建立完成之后, 因为主 本身可以选择要不要控制闪存, 如果连接闪存, 主本身同时具备了主和从两种 功能。 此时主需要初始一些表格, 如物理地址对应表 (Logical To Physical Translation Table)等等。 最后就只剩下 IDE/CF接口的设定以及初始化, 等待远 程 IDE/CF的命令, 进行数据存取的动作。 如果控制器被设定为从模式时, 只 需要进行一些表格初始化的动作, 然后等待主控制器利用内部通信协议传送的 命令。  The host controller then needs to know the topology of the system and know which controller controls what data within the logical sector range. Because the master and the slave can have their own management methods, the master cannot know the logical sector data in the slave controller's placement position (flash memory location) and mode, and can only tell the logic fan from the ICP notification. District data. After the topological structure is established, because the host itself can choose whether or not to control the flash memory, if the flash memory is connected, the master itself has both the master and slave functions. At this point, the master needs to initialize some tables, such as the Logical To Physical Translation Table. Finally, only the IDE/CF interface settings and initialization are left, waiting for remote IDE/CF commands to perform data access operations. If the controller is set to slave mode, only some form initialization actions are required, and then the master controller waits for commands transmitted using the internal communication protocol.
写入的流程如图 7所示, 当 IDE/CF接口想要进行写入的动作时, 主控制 器会在 IDE/CF接口 (LBA緩存器)收到此命令, 包含了写入的逻辑扇区以及扇 区长度等等。 主首先设定 DMA緩存器 (若 IDE/CF接口为 Ultra模式)数据长度 以及数据位置, 然后对照系统启动时所建立的拓朴数据架构, 确认每一次写入 时需要将数据以及逻辑位置利用 ICP 传送给哪些从控制器。 等到外部透过 IDE/CF DMA将数据緩冲区写满时 (一个扇区 512字节), 便将此数据利用内部 DMA, 将数据传送给对应的从控制器, 从控制器利用其内部的表格, 将数据写 入到其所连接的闪存记忆体上。  The process of writing is shown in Figure 7. When the IDE/CF interface wants to perform a write operation, the host controller will receive this command on the IDE/CF interface (LBA buffer), including the written logical fan. Area and sector length, etc. The master first sets the data length and data location of the DMA buffer (if the IDE/CF interface is in Ultra mode), and then compares the topology data structure established when the system is started, and confirms that the data and logical location need to use ICP for each write. Which slave controllers are sent to. When the external data buffer is filled by the IDE/CF DMA (512 bytes in one sector), the data is transferred to the corresponding slave controller using the internal DMA, and the slave uses its internal A table that writes data to the flash memory to which it is connected.
当所有的从控制器都被写入后, 便检查所有的从控制器的 Ready/Busy信 号是否释放, 若都已释放则可以进行下一轮的写入动作, 直到所有的数据都写 入完成为止。 When all slave controllers are written, all Ready/Busy letters of the slave controller are checked. Whether the number is released, if it is released, the next round of writing can be performed until all the data is written.
读取的流程如图 8所示, 当 IDE/CF接口想要进行读取的动作时, 主控制 器会在 IDE/CF接口 (LBA緩存器)收到此命令, 此命令包含了读取的逻辑扇区 地址以及扇区长度等等。主首先设定 DMA緩存器 (若 IDE/CF接口为 Ultra模式) 数据长度以及数据位置,.然后对照系统启动时所建立的拓朴数据架构, 知道这 一次读取动作需要利用 ICP在哪些从控制器的逻辑位置读取数据。 然后将命令 以及逻辑扇区位置送到所有相关的从控制器, 之后主控制器检查是否所有的从 控制器的 Ready Busy都已经 #放。若是则表示所有从的控制器中的数据都以被 读取, 主控制器利用内部 DMA将读取的数据由从控制器传送到系统緩冲区, 主控制器再将系统緩冲区内的数据利用外部 DMA传送到远程。  The process of reading is shown in Figure 8. When the IDE/CF interface wants to read, the host controller will receive this command on the IDE/CF interface (LBA buffer). This command contains the read command. Logical sector address as well as sector length and so on. The master first sets the DMA buffer (if the IDE/CF interface is in Ultra mode) data length and data location, and then compares the topology data structure established when the system is started, knowing which read operations need to use ICP in which slave control The logical location of the device reads the data. The command and logical sector locations are then sent to all relevant slave controllers, after which the master controller checks if all of the slave controller's Ready Busy have been placed. If it is, it means that all the data in the slave controller is read, and the master controller uses the internal DMA to transfer the read data from the controller to the system buffer, and the master controller then uses the system buffer. Data is transferred to the remote using external DMA.
其中单一控制器在 PCB布局后的信号图如图 9所示, 图 10所示为多颗闪 存记忆体多重负载电路信号图。  The signal diagram of a single controller after PCB layout is shown in Figure 9. Figure 10 shows the signal diagram of multiple flash memory multiple load circuits.
另外, 当系统的控制器连接超过一定数量的闪存记忆体时, 会因为一些电 子组件如电容数量的累积, 而产生的噪声现象, 此时必须降低所有控制器的工 作频率。 因为所有控制器的工作频率都是由主控制器所提供, 所以主控制器必 须有一组可以设定频率的电路, 可以产生多组的频率, 满足不同数量闪存记忆 体的需要, 达到最佳的性能。  In addition, when the controller of the system is connected to a certain amount of flash memory, the noise will be generated due to the accumulation of some electronic components such as the number of capacitors. At this time, the operating frequency of all controllers must be reduced. Because the operating frequency of all controllers is provided by the main controller, the main controller must have a set of circuits that can set the frequency, which can generate multiple sets of frequencies to meet the needs of different amounts of flash memory, to achieve the best performance.
此外, 在市面上常见的闪存控制器芯片, 在控制一定数量的闪存后, 因为 负载电容与 PCB布局的因素,数据总线在连接四到八颗闪存记忆体时, 其工作 频率尚能维持在较高的额定范围, 也基本能保持波型的准确性, 超过此一数量 范围, 往往必须靠降 工作频率来确保波型的准确性, 故利用多个独立的数据 总线来存取固定数量以内的闪存记忆体,可以降低 PCB布局的复杂度与确保存 取闪存记忆体的准确性, 以便维持整体的高容量、 高性能与稳定性。  In addition, the common flash controller chip on the market, after controlling a certain amount of flash memory, because of the load capacitance and PCB layout factor, the data bus can maintain the operating frequency when connecting four to eight flash memories. The high rated range can basically maintain the accuracy of the waveform. Beyond this range, it is often necessary to reduce the operating frequency to ensure the accuracy of the waveform. Therefore, multiple independent data buses are used to access a fixed number. Flash memory reduces the complexity of the PCB layout and ensures the accuracy of accessing flash memory to maintain overall high capacity, performance and stability.
以上所述仅为本发明的较佳实施例而已 , 并不用以限制本发明, 凡在本发 明的精神和原则之内所作的任何修改、 等同替换和改进等, 均应包括在本发明 的保护范围之内。 The above is only the preferred embodiment of the present invention, and is not intended to limit the present invention, and any modifications, equivalents, and improvements made within the spirit and scope of the present invention should be included in the present invention. Within the scope of protection.

Claims

权利要求 Rights request
1、 一种基于闪存记忆体的大容量存储装置, 其特征在于: 1. A large-capacity storage device based on flash memory, characterized in that:
该装置采用主-从架构,通过内部通信协议进行通信管理来提升存储容量和 性能, 包括用于取代传统硬盘的外部接口界面, 多个控制器, 半导体存储媒介。  The device uses a master-slave architecture to communicate management through internal communication protocols to enhance storage capacity and performance, including external interface interfaces to replace traditional hard drives, multiple controllers, and semiconductor storage media.
2、 如权利要求 1所述的装置, 其特征在于, 外部接口界面为 IDE/CF接口 界面。  2. Apparatus according to claim 1 wherein the external interface interface is an IDE/CF interface interface.
3、 如权利要求 1所述的装置, 其特征在于, 所述装置为 SLC/MLC NAND 型闪存记忆体、 AGAND型闪存记忆体、 NROM型闪存记忆体或 NOR型闪存 记忆体。 ·  3. The device according to claim 1, wherein the device is a SLC/MLC NAND type flash memory, an AGAND type flash memory, an NROM type flash memory or a NOR type flash memory. ·
4、 如权利要求 1所述的装置, 其特征在于, 该控制器包含一个主控制器和 至少一个从控制器。  4. Apparatus according to claim 1 wherein the controller comprises a master controller and at least one slave controller.
5、 如权利要求 4所述的装置, 其特征在于, 该主和从控制器有相同数量以 及定义的脚位, 内部的逻辑也相同; 该主和从控制器应包含提供其它脚位以控 制半导体存储元器件; ,该主和从控制器至少提供一个 I/O脚位, 用 ^设定控制 器是主或是从; 该主和从控制器还应至少提供 Data-in以及 Data-Out脚位, 用 于主和从的内部通信协议数据传递; 该主和从控制器还应至少提供 CLK—IN和 CLK— OUT脚位用于同步整个系统中多个控制器的工作时序。  5. The apparatus according to claim 4, wherein the master and slave controllers have the same number and defined pins, and the internal logic is also the same; the master and slave controllers should include other pins to control A semiconductor memory component; the master and slave controllers provide at least one I/O pin, and the controller is a master or a slave; the master and slave controllers should also provide at least a Data-in and a Data-Out. Pin, internal communication protocol data transfer for master and slave; The master and slave controllers should also provide at least the CLK_IN and CLK_OUT pins for synchronizing the operating timing of multiple controllers throughout the system.
6、 如权利要求 1所述的装置, 其特征在于, 该主控制器还包含一组设定工 作频率的电路, 用于产生多组的频率。  6. Apparatus according to claim 1 wherein the main controller further comprises a set of circuits for setting the operating frequency for generating sets of frequencies.
7、 如权利要求 1至 6任意一项所述的装置, 其特征在于, 该装置为 U盘 (包含但不限于 USB Pendriver 1.1/2.0 ) 、 PMP播放器、 存储卡 (包含但不限 于 SD/MMC/CF/Memory Stick/XD )和 MP3 播放器  7. The device according to any one of claims 1 to 6, wherein the device is a USB flash drive (including but not limited to USB Pendriver 1.1/2.0), a PMP player, a memory card (including but not limited to SD/ MMC/CF/Memory Stick/XD) and MP3 player
8、 一种基于闪存记忆体的大容量存储方法, 其特征在于, 所述方法包括下 述步骤:  8. A flash memory based mass storage method, characterized in that the method comprises the following steps:
主控制器分配需要写入的数据, 并根据内部通信协议依序将数据和命令送 到各对应的从控制器; ' 检查每个从控制器的 Ready/Busy信号是否已经释放; The main controller allocates the data to be written, and sends the data and commands sequentially according to the internal communication protocol. To each corresponding slave controller; 'Check if the Ready/Busy signal of each slave controller has been released;
当所有对应的从控制器的 Ready/Busy信号释放时,进行下一轮数据和命令 的传送。  When all the corresponding slave controller's Ready/Busy signals are released, the next round of data and command transmission is performed.
9、 如权利要求 8所述的方法, 其特征在于, 该方法用于 U盘(包含但不 限于 USB Pendriver 1.1/2.0 ) 、 PMP 播放器、 存储卡 (包含但不限于 SD/MMC/CF/Memory Stick/XD )和 MP3 播放器。  9. The method of claim 8, wherein the method is for a USB flash drive (including but not limited to USB Pendriver 1.1/2.0), a PMP player, a memory card (including but not limited to SD/MMC/CF/ Memory Stick/XD) and MP3 player.
PCT/CN2007/002499 2006-08-18 2007-08-20 Storage device with large capacity and method based on flash memory WO2008025238A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200610062172.7 2006-08-18
CNB2006100621727A CN100573435C (en) 2006-08-18 2006-08-18 A kind of mass storage device based on flash memory

Publications (1)

Publication Number Publication Date
WO2008025238A1 true WO2008025238A1 (en) 2008-03-06

Family

ID=37954345

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2007/002499 WO2008025238A1 (en) 2006-08-18 2007-08-20 Storage device with large capacity and method based on flash memory

Country Status (2)

Country Link
CN (1) CN100573435C (en)
WO (1) WO2008025238A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8205037B2 (en) 2009-04-08 2012-06-19 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips operating at different voltages
US8239713B2 (en) 2009-04-08 2012-08-07 Google Inc. Data storage device with bad block scan command
US10082957B2 (en) 2016-07-20 2018-09-25 Western Digital Technologies, Inc. Dual-ported PCI express-based storage cartridge including single-ported storage controllers

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8244937B2 (en) * 2008-09-30 2012-08-14 Micron Technology, Inc. Solid state storage device controller with parallel operation mode
CN101546194B (en) * 2009-05-07 2012-01-04 成都市华为赛门铁克科技有限公司 Interface device, interface control method and memory system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000017726A2 (en) * 1998-09-18 2000-03-30 Computron Switchable master/slave memory controller
JP2003030045A (en) * 2001-07-16 2003-01-31 Hitachi Communication Technologies Ltd Storage device
JP2005293177A (en) * 2004-03-31 2005-10-20 Tdk Corp Memory controller and flash memory system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000017726A2 (en) * 1998-09-18 2000-03-30 Computron Switchable master/slave memory controller
JP2003030045A (en) * 2001-07-16 2003-01-31 Hitachi Communication Technologies Ltd Storage device
JP2005293177A (en) * 2004-03-31 2005-10-20 Tdk Corp Memory controller and flash memory system

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8205037B2 (en) 2009-04-08 2012-06-19 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips operating at different voltages
US8239724B2 (en) 2009-04-08 2012-08-07 Google Inc. Error correction for a data storage device
US8239713B2 (en) 2009-04-08 2012-08-07 Google Inc. Data storage device with bad block scan command
US8239729B2 (en) 2009-04-08 2012-08-07 Google Inc. Data storage device with copy command
US8244962B2 (en) 2009-04-08 2012-08-14 Google Inc. Command processor for a data storage device
US8250271B2 (en) 2009-04-08 2012-08-21 Google Inc. Command and interrupt grouping for a data storage device
US8327220B2 (en) 2009-04-08 2012-12-04 Google Inc. Data storage device with verify on write command
US8380909B2 (en) 2009-04-08 2013-02-19 Google Inc. Multiple command queues having separate interrupts
US8433845B2 (en) 2009-04-08 2013-04-30 Google Inc. Data storage device which serializes memory device ready/busy signals
US8447918B2 (en) 2009-04-08 2013-05-21 Google Inc. Garbage collection for failure prediction and repartitioning
US8566508B2 (en) 2009-04-08 2013-10-22 Google Inc. RAID configuration in a flash memory data storage device
US8566507B2 (en) 2009-04-08 2013-10-22 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips
US8578084B2 (en) 2009-04-08 2013-11-05 Google Inc. Data storage device having multiple removable memory boards
US8595572B2 (en) 2009-04-08 2013-11-26 Google Inc. Data storage device with metadata command
US8639871B2 (en) 2009-04-08 2014-01-28 Google Inc. Partitioning a flash memory data storage device
US9244842B2 (en) 2009-04-08 2016-01-26 Google Inc. Data storage device with copy command
US10082957B2 (en) 2016-07-20 2018-09-25 Western Digital Technologies, Inc. Dual-ported PCI express-based storage cartridge including single-ported storage controllers

Also Published As

Publication number Publication date
CN1936817A (en) 2007-03-28
CN100573435C (en) 2009-12-23

Similar Documents

Publication Publication Date Title
US8930647B1 (en) Multiple class memory systems
WO2016197600A1 (en) Storage apparatus accessed via memory bus
US20180107591A1 (en) System, method and computer program product for fetching data between an execution of a plurality of threads
KR100281432B1 (en) Main memory based on flash memory
TWI376603B (en) Solid state disk storage system with a parallel accessing architecture and a solid state disk controller
JP4799417B2 (en) Host controller
US8751732B2 (en) System and method for increasing capacity, performance, and flexibility of flash storage
US20110208900A1 (en) Methods and systems utilizing nonvolatile memory in a computer system main memory
US9170744B1 (en) Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system
US11799479B2 (en) Apparatus for transmitting and receiving a signal, a method of operating the same, a memory device, and a method of operating the memory device
JP2015528608A (en) Flash memory controller with dual mode pinout
US9063849B2 (en) Different types of memory integrated in one chip by using a novel protocol
US7949818B2 (en) Memory system comprising semiconductor memory having plural different operation modes
JP2013214284A (en) Apparatus and method for reduced pin count (rpc) memory bus interface including read data strobe signal
CN101162448A (en) Hardware transmit method of USB high speed data tunnel
WO2008025238A1 (en) Storage device with large capacity and method based on flash memory
CN107577419A (en) A kind of external high-end storage card
EP3704699A2 (en) Memory devices with multiple sets of latencies and methods for operating the same
US9176671B1 (en) Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system
US11829640B2 (en) Asynchronous arbitration across clock domains for register writes in an integrated circuit chip
US9529744B2 (en) Interface between multiple controllers
JP2022050018A (en) Electronic device and transfer method
TWI410802B (en) Storage system for enhancing operation speed and the peocedure thereof
TWI316719B (en) The method of nand flash storage for high capacity
US6377510B2 (en) Memory control system for controlling write-enable signals

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07800720

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: COMMUNICATION UNDER RULE 112(1) EPC, EPO FORM 1205A DATED 21/07/09

122 Ep: pct application non-entry in european phase

Ref document number: 07800720

Country of ref document: EP

Kind code of ref document: A1