KR960016397B1 - File storaging apparatus and information processing apparatus using the same - Google Patents

File storaging apparatus and information processing apparatus using the same Download PDF

Info

Publication number
KR960016397B1
KR960016397B1 KR1019940004411A KR19940004411A KR960016397B1 KR 960016397 B1 KR960016397 B1 KR 960016397B1 KR 1019940004411 A KR1019940004411 A KR 1019940004411A KR 19940004411 A KR19940004411 A KR 19940004411A KR 960016397 B1 KR960016397 B1 KR 960016397B1
Authority
KR
South Korea
Prior art keywords
data
file
memory
storage
unit
Prior art date
Application number
KR1019940004411A
Other languages
Korean (ko)
Other versions
KR940022272A (en
Inventor
구니히로 가따야마
겐이찌 가끼
쥰 기따하라
쯔네히로 도비따
가즈노리 후루사와
Original Assignee
가부시끼가이샤 히다찌세이사꾸쇼
가나이 쯔또무
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 가부시끼가이샤 히다찌세이사꾸쇼, 가나이 쯔또무 filed Critical 가부시끼가이샤 히다찌세이사꾸쇼
Publication of KR940022272A publication Critical patent/KR940022272A/en
Application granted granted Critical
Publication of KR960016397B1 publication Critical patent/KR960016397B1/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0658Controller construction 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/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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Abstract

요약 없음No summary

Description

화일기억장치 및 그것을 사용한 정보처리장치File storage device and information processing device using the same

제 1 도는 본 발명을 실현하는 정보처리장치의 시스템구성을 도시한 블럭도.1 is a block diagram showing a system configuration of an information processing apparatus for implementing the present invention.

제 2 도는 화일기억장치의 실시예의 구성을 도시한 블럭도.2 is a block diagram showing a configuration of an embodiment of a file storage device.

제 3 도는 실시예의 동작을 설명하기 위한 주요부분의 블럭도.3 is a block diagram of main parts for explaining the operation of the embodiment;

제 4 도는 실시예에 있어서의 라이트가 느린 메모리칩을 사용한 경우 데이타 제어를 도시한 설명도.4 is an explanatory diagram showing data control when a memory chip having a slow write in the embodiment is used.

제 5 도A, 제 5 도B는 실시예에 있어서의 메모리로의 화일저장의 실시예의 설명도.5A and 5B are explanatory diagrams of an embodiment of file storage in a memory in the embodiment.

제 6 도는 본 발명의 다른 실시예에 있어서의 연쇄정보저장의 실시예의 설명도.6 is an explanatory diagram of an embodiment of chain information storage in another embodiment of the present invention.

제 7 도는 신호단자 입력지정에 의한 데이타 분쇄기능을 메모리소자내에 구비한 메모리 구성예의 설명도.7 is an explanatory diagram of a memory configuration example in which a data crushing function by signal terminal input designation is provided in a memory element.

제 8 도는 커맨드 설정 입력지정에 의한 데이타 분배기능을 메모리소자내에 구비한 메모리 구성예의 설명도.Fig. 8 is an explanatory diagram of a memory configuration example in which a memory device has a data distribution function by command setting input designation.

제 9 도는 실시예에 있어서의 메모리군의 어드레스접속의 설명도.9 is an explanatory diagram of address connection of a memory group in the embodiment.

제10도는 실시예에 있어서의 4바이트 동시 라이트시의 동작의 설명도.10 is an explanatory diagram of an operation during simultaneous 4-byte write in the embodiment.

제11도는 실시예에 있어서의 4바이트 동시 라이트시의 동작의 설명도.Fig. 11 is an explanatory diagram of the operation during four-byte simultaneous write in the embodiment.

제12도는 실시예에 있어서의 메모리 1칩 동시 액세스의 데이타 분배의 설명도.Fig. 12 is an explanatory diagram of data distribution of memory one chip simultaneous access in the embodiment.

제13도는 실시예에 있어서의 메모리 2칩 동시 액세스의 데이타 분배의 설명도.13 is an explanatory diagram of data distribution of memory two-chip simultaneous access in the embodiment.

제14도는 실시예에 있어서의 메모리 4칩 동시 액세스의 데이타 분배의 설명도.14 is an explanatory diagram of data distribution of memory four-chip simultaneous access in the embodiment.

제15도는 시스템버스와 메모리의 데이타 버스의 여러가지 구성에 있어서의 하드웨어 구성의 설명도.FIG. 15 is an explanatory diagram of a hardware configuration in various configurations of a system bus and a data bus of a memory. FIG.

본 발명은 화일기억장치를 탑재한 정보처리장치에 관한 것으로, 특히 고속의 화일 액세스에 적합한 화일기억장치 및 그것을 사용한 정보처리장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus equipped with a file storage apparatus, and more particularly, to a file storage apparatus suitable for high speed file access and an information processing apparatus using the same.

퍼스널 컴퓨터를 비롯한 현재의 범용의 정보처리장치에 있어서 화일기억장치는 거의 필수라고 할 수 있는 주변기기이다. 게다가, 화일기억장치는 본체의 기기에 내장되어 있는 것이 일반적이고, 사용자는 항상 대용량의 화일을 취급할 수 있게 되어 있다.In the current general-purpose information processing devices including personal computers, file storage devices are almost essential devices. In addition, it is common for the file storage device to be incorporated in the apparatus of the main body, and the user can always handle a large amount of files.

최근에는 노트사이즈나 팜톱형의 퍼스널 컴퓨터가 사용되는 경우가 많아져 이동해서 사용하는 용도가 중요시되기 시작하였다. 이 때문에 진동에 약하고 소비전력이 큰 자기디스크 기억장치 대신에 반도체를 기억 매체로 한 화일기억장치가 주목받고 있다. 예를 들어, 일본국 특허공개공보 평성 2-292798호에는 기억매체로서 플래쉬메모리를 사용한 반도체 화일기억장치의 기술에 개시되어 있다.In recent years, notebook-size or palmtop-type personal computers have been used in many cases, and their use for mobile use has become important. For this reason, instead of the magnetic disk storage device, which is weak in vibration and consumes a lot of power, a file storage device using a semiconductor as a storage medium has attracted attention. For example, Japanese Patent Application Laid-open No. Hei 2-292798 discloses a technique of a semiconductor file memory device using a flash memory as a storage medium.

플래쉬메모리라는 것은 전기적으로 리라이트 가능한 불휘발성 메모리로서, 대용량 저가격화가 가능하므로, 반도체 화일기억장치의 기억메체로서 가장 유효한 메모리의 하나이다. 상기한 일본국 특허공개공보에 기재된 기술은 이 메모리를 사용해서 화일기억장치를 구축할때 문제로 되는 점을 해결하고, 사용상 편리함을 향상시키는 연구를 하고 있다. 예를 들어 리라이트의 빈발에 의해 소자가 저하하는 플래쉬메모리의 결점을 구제하는 방법 및 플래쉬메모리의 리라이트에 필요한 소거라는 포즈에 있어서의 고속화의 방법등을 제안하고 있다. 또, 호스트로 되는 정보처리장치와의 인터페이스로서는 자기디스크장치와 동일한 것을 제안하고 있고, 자기디스크장치로 대체할 수 있는 시스템의 구축을 목적으로 하고 있다.The flash memory is an electrically rewritable nonvolatile memory and is one of the most effective memories as a storage medium of a semiconductor file memory device because of its low cost and large capacity. The technique described in the Japanese Patent Laid-Open No. 1 has been researched to solve the problem of constructing a file memory device using this memory and to improve convenience in use. For example, a method for relieving a defect of a flash memory in which a device decreases due to frequent rewrite, and a method for speeding up an erase pose required for rewriting the flash memory are proposed. Moreover, the same interface as the magnetic disk device is proposed as an interface with the information processing device serving as a host, and an object thereof is to construct a system which can be replaced with the magnetic disk device.

상기 종래기술의 반도체 화일기억장치는 그것을 사용하는 정보처리장치의 기존의 인터페이스버스를 사용하고, 자기디스크장치와의 호환성을 중시하고 있다. 이것에 의해 반도체 화일기억장치를 사용자가 저항없이 받아들이도록 하고 있지만, 자기디스크장치와의 호환성을 중시하는 반면, 자기디스크에 대한 반도체 기억소자의 우위성의 이용에 고려가 이루어져 있지 않다.The semiconductor file storage device of the related art uses an existing interface bus of an information processing device using the same, and emphasizes compatibility with a magnetic disk device. This allows the user to accept the semiconductor file memory device without resistance, but emphasizes compatibility with the magnetic disk device, but does not consider the use of the superiority of the semiconductor memory device over the magnetic disk.

예를 들면, 반도체 기억소자는 회전하는 디스크에서 데이타를 수집하거나, 또는 라이트를 실행하는 자기디스크장치와 달리 정적인 기억매체이므로 매우 고속인 데이타 액세스를 가능하게 하지만, 자기기억장치와 동일한 인터페이스에서는 이 고속 액세스의 우위성을 살릴수 없다는 문제가 있다.For example, unlike a magnetic disk device that collects data from a rotating disk or writes data, the semiconductor memory device is a static storage medium, and thus enables very fast data access. There is a problem that can not take advantage of the fast access.

또, 현상의 퍼스널 컴퓨터등의 정보처리장치에 사용되고 있는 자기디스크장치에서는 데이타 액세스가 퍼스널 컴퓨터의 메모리액세스에 비해서 늦어 정보처리장치내의 CPU와 동기해서 동작할 필요는 없다. 그 때문에 자기디스크장치의 데이타의 수수는 비동기의 버스상에서 실행되고 있다. 반도체를 기억매체로 한 경우에는 CPU의 동작에 추수할 수 있으므로, 동기동작을 하는 것에 의의가 있다.In addition, in the magnetic disk device used in an information processing apparatus such as a personal computer, the data access is slower than the memory access of the personal computer, and it is not necessary to operate in synchronization with the CPU in the information processing apparatus. Therefore, the data transfer of the magnetic disk device is executed on an asynchronous bus. In the case where the semiconductor is used as the storage medium, the CPU can be harvested. Therefore, the synchronous operation is meaningful.

그러나 이때, CPU 처리의 버스폭과 플래쉬메모리 1칩의 데이타 액세스의 버스폭의 차이를 메모리칩을 병렬해서 사용하는 것에 의해 해결하려고 하면 문제가 발생한다. 플래쉬메모리에서는 소거단위가 정해져 있고, 예를 들어 512바이트이다. 따라서 여러개의 칩을 병렬로 이용하면 한번에 소자를 실행하는 소거단위의 용량(512×병렬칩수)이 바이트로 되어 버린다.At this time, however, a problem arises when trying to solve the difference between the bus width of the CPU processing and the bus width of the data access of one flash memory chip by using the memory chips in parallel. In the flash memory, the erase unit is determined, for example, 512 bytes. Therefore, when multiple chips are used in parallel, the capacity (512 x number of parallel chips) of an erase unit that executes an element at a time becomes bytes.

한편, 현재의 퍼스널 컴퓨터의 대부분은 512바이트를 1단락(1섹터)로 해서 화일관리의 기억용량단위(이하, 화일관리단위)로 하고 있으므로, 화일관리단위인 1섹터의 액세스에 있어서 예를 들어 플래쉬메모리 4칩을 병렬에 이용하려고 하면, 결과적으로 최소 소거단위가 커지고, 이 섹터의 리라이트시에 상술한 바와 같이 1섹터의 4배의 용량을 동시에 소거하게 된다. 이것으로는 소거대상 용량이 너무커서 소거대상 이외의 데이타까지 소거해 버리게 된다.On the other hand, since most of the current personal computers use 512 bytes as one paragraph (one sector) as the storage capacity unit (hereinafter referred to as file management unit) of file management, for example, when accessing one sector as a file management unit, Attempting to use four flash memory chips in parallel results in a larger minimum erase unit, and simultaneously erases four times the capacity of one sector as described above when this sector is rewritten. This erases the data other than the erase target because the erase target capacity is too large.

본 발명의 목적은 반도체 화일기억장치를 구비한 정보처리장치에 있어서 고속 액세스성능과 경제성을 양립시킨 화일기억장치 및 화일저장방법을 제공하는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to provide a file storage device and a file storing method which achieve both high-speed access performance and economy in an information processing device having a semiconductor file storage device.

본 발명의 다른 목적은 최저 소거단위가 어느정도 큰 플래쉬메모리를 사용한 화일장치에 있어서 다른 화일데이타에 영향을 미치지 않는 화일기억장치 및 화일저장방법을 제공하는 것이다.Another object of the present invention is to provide a file storage device and a file storing method which do not affect other file data in a file device using a flash memory having a smallest erase unit.

또, 본 발명의 또다른 목적은 화일기억장치의 소형화를 도모하는 것이다.Another object of the present invention is to miniaturize the file storage device.

또, 본 발명의 또다른 목적은 화일저장방법을 동적으로 변경하고, 여러가지 사이즈로 이루어지는 여러개의 화일을 저장하는 과정에서 발생하는 간극적인 빈영역을 유효하게 이용하는 것이다.Another object of the present invention is to dynamically change the file storage method and to effectively use the gap free area generated in the process of storing several files having various sizes.

본 발명에 의한 화일장치는 최소 소거단위가 화일기억장치의 데이타 버스폭보다 크고, 데이타 액세스폭이 화일기억장치의 데이타 버스폭보다 작은 기억소자군을 병렬로 이용해서 데이타 버스를 거쳐서 화일데이타를 저장하는 화일기억장치로서, 1개 이상의 최소 기억단위로 이루어지는 화일데이타를 임의의 최소 기억단위의 조합으로 이루어지는 조합 요소로 분할하는 화일분할수단, 데이타 버스상의 데이타를 데이타 액세스폭을 단위로 해서 임의로 조합하고, 데이타 액세스폭을 단위로 한 동일한 단위수의 기억소자군의 임의의 조합에 대응시키는 데이타 분배수단, 상기 조합요소의 각각을 화일기억장치에 저장할때 기억소자군의 상기 임의의 조합중의 어느것인가 1조에 대응시킬 수 있도록 데이타 분배수단을 제어하는 제어수단을 구비한다.The file apparatus according to the present invention stores file data via the data bus in parallel by using a memory device group having a minimum erase unit larger than the data bus width of the file memory and a data access width smaller than the data bus width of the file memory. A file storage device comprising: file dividing means for dividing file data consisting of one or more minimum memory units into combination elements consisting of a combination of arbitrary minimum storage units, and arbitrarily combining data on a data bus in units of data access widths; Data distribution means for corresponding to any combination of memory device groups of the same number of units in units of data access width, and any of the above arbitrary combinations of memory device groups when storing each of the combination elements in a file storage device. Control means for controlling the data distribution means so as to correspond to one set.

이 결과, 본 발명에 의하면, 플래쉬메모리와 같이 최소 소거단위가 큰 기억매체를 사용한 화일기억장치를 탑재한 정보처리장치에 있어서, 자기디스크장치와 비교해서 우수한 고속 액세스기능을 최대한으로 발휘할 수 있다. 정보처리장치의 CPU에 입력하는 레디신호에 의해 적절히 CPU를 대기상태로 해서 타이밍을 맞출수 있으므로, 시스템의 데이타 버스폭과 플래쉬메모리 1칩의 액세스 데이타 비트수가 다른 경우라도 고속으로 액세스하는 것이 가능하게 된다.As a result, according to the present invention, an information processing apparatus equipped with a file memory device using a storage medium having a large minimum erase unit such as a flash memory can exhibit a high speed access function superior to that of a magnetic disk device. The ready signal input to the CPU of the information processing apparatus allows the CPU to be properly set in the standby state so that timing can be adjusted at high speed even when the data bus width of the system and the number of access data bits of one flash memory chip are different. .

특히 액세스시간이 사용자가 인식하기 쉬운 대용량이 화일의 리드 라이트 즉 연속 섹터 액세스에 있어서 효과가 크다. 또, 시스템의 데이타 버스폭과 플래쉬메모리 1칩의 액세스 데이타 비트수는 용도, 성능, 시대에 따라 다르지만, 여러가지의 것에 대응할 수 있는 유연성이 높은 구성을 가능하게 한다. 또 메모리를 인터리브 엑세스해서 고속화하는 방법에도 응용할 수 있다.In particular, a large capacity for which the access time is easy for a user to recognize is effective for read-write of a file, that is, continuous sector access. In addition, although the data bus width of the system and the number of access data bits of a single flash memory chip vary depending on the purpose, performance, and era, a highly flexible configuration that can cope with various things is possible. It can also be applied to a method of speeding up interleaving memory.

상기 구성을 사용한 화일저장방법에 의하면, 시스템으로부터의 액세스 순서를 간략화하여 고속 액세스를 원조한다. 그리고 화일관리 자체를 간략화할 수 있어 컨트롤회로나 제어프로그램등의 간소화가 도모된다.According to the file storage method using the above arrangement, the access procedure from the system is simplified to assist high speed access. And the file management itself can be simplified, simplifying control circuits and control programs.

또, 메모리소자중에 데이타 분배기능을 구비하는 것에 의해, 주변회로의 삭감, 데이타처리의 고속화가 도모된다.In addition, by providing a data distribution function in the memory elements, peripheral circuits can be reduced and data processing can be speeded up.

또, 이상 기술한 바와 같은 본 발명의 개념에 의하면, 플래쉬메모리장치에 있어서, 화일 리라이트시에 다른 화일 데이타를 소거하는 일 없이, 또 메모리의 기억영역을 유효하게 이용하면서 여러개의 바이트 병렬 동시 라이트에 의해 고속의 화일 데이타 저장을 달성하는 것이 가능하게 된다.According to the concept of the present invention as described above, in the flash memory device, multiple byte parallel simultaneous writes are performed while the memory storage area is effectively used without erasing other file data at the time of file rewriting. This makes it possible to achieve high speed file data storage.

이하, 본 발명의 개념을 도면을 사용해서 설명한다.EMBODIMENT OF THE INVENTION Hereinafter, the concept of this invention is demonstrated using drawing.

이하의 설명에서는 정보처리장치로서 퍼스널 컴퓨터, 반도체 기억매체로서 플래쉬메모리를 전제로 한다.The following description assumes a personal computer as an information processing apparatus and a flash memory as a semiconductor storage medium.

종래예의 문제로서 기술한 바와 같은 소거대상외의 화일데이타까지 소거해버리는 사태를 피하기 위해, 예를 들어 CPU가 32비트버스, 플래쉬메모리가 8비트버스이면, 1칩을 4회 순차로 액세스해서 CPU의 32비트버스를 들어 CPU가 32비트버스에 대응할 필요가 있다.In order to avoid the situation of erasing file data other than the object to be erased as described in the conventional example, for example, if the CPU is a 32-bit bus and the flash memory is an 8-bit bus, one chip is accessed four times in succession. For 32-bit buses, the CPU needs to support 32-bit buses.

그러나, 4섹터 이상의 연속 액세스시에는 각 4섹터의 데이타에 대해서 4개의 칩에 병렬로 동시 액세스하고, 1회의 액세스로 CPU의 데이타 버스로부터의 32비트를 동시 액세스할 수 있다.However, in the case of continuous access of 4 sectors or more, each of the 4 sectors of data can be simultaneously accessed in parallel on four chips, and one access can simultaneously access 32 bits from the data bus of the CPU.

화일관리상 한번 연속 섹터로 처리한 것을 나중에 분할하는 것을 통상 있을 수 없다. 즉, 화일시스템은 화일단위로 밖에 액세스되지 않는다. 따라서, 여러개의 섹터의 연속 액세스의 경우는 라이트의 시점에서 여러개의 칩을 동시 액세스해서 여러개의 섹터를 병렬 사용하도록 하면, 리드시에 동일한 병렬액세스를 하면 라이트한 상태 그대로의 화일 데이타를 얻을 수 있다.In file management, it is not usually possible to divide the processing once into consecutive sectors later. That is, the file system is accessed only file by file. Therefore, in the case of continuous access of several sectors, if multiple chips are used in parallel by simultaneously accessing multiple chips at the time of writing, file data as it is written can be obtained if the same parallel access is performed at read time. .

여기에서 2섹터 및 4섹터의 분산 저장 상태에 대해서 제10도 및 제11도에 의해 설명한다. 제10도는 4바이트 동시 라이트의 예를 나타내고, 제11도는 2바이트 동시 라이트의 예를 나타낸다. 여기에서는 호스트의 시스템버스를 32비트, 1개의 메모리군의 데이타 액세스폭을 8비트로 한다.Here, the distributed storage states of two sectors and four sectors will be described with reference to FIGS. 10 and 11. FIG. 10 shows an example of 4-byte simultaneous writes, and FIG. 11 shows an example of 2-byte simultaneous writes. Here, the host system bus is 32 bits, and the data access width of one memory group is 8 bits.

제10도는 4개의 메모리칩(도면에 따라서 메모리군이라 한다) a~d로의 4섹터 동시 라이트의 예를 나타낸다. 도면중 (212)은 호스트의 시스템버스로부터의 데이타를 나타내고, 32비트(4바이트)를 단위로 해서 전송되어 온다. (222)~(225)는 8비트(1바이트)단위의 데이타의 일련번호를 나타내고, (222)는 1바이트째의 데이타, (223)은 2바이트째의 데이타, (224)는 3바이트째, (225)는 4바이트째의 데이타이다. 이하, 연속해서 4섹터분으로서 2048바이트째까지가 전송되어 온다. 실제로는 32비트버스이기 때문에 1바이트째에서 4바이트째까지가 동시에 수령되고, 이하도 마찬가지이다. (51)~(54)는 데이터 일시기억을 위한 데이타래치이다. 4바이트씩의 동시 라이트이기 때문에 32비트 데이타, 즉 4바이트를 동시에 데이타래치 (51)~(54)에 저장한 후, 각 바이트가 메모리군 a~d로 분산해서 1바이트씩 라이트된다. 다음의 32비트 데이타에 대해서 각 바이트가 메모리군 a~d의 후속 부분에 라이트된다. 이와 같이해서 1섹터분의 512바이트째까지가 128회로 나뉘어 라이트된다. 계속해서, 제 2 의 섹터에 대해서 마찬가지로 4바이트씩 메모리군 a~d의 후속부분에 라이트된다. 마찬가지로, 제 3 섹터의 512바이트를, 또 제 4 섹터의 512바이트를 라이트한다. 이 시점에서 4칩의 최소 소거단위의 용량이 2048바이트째까지의 데이타로 충분하게 된다. 따라서, 이 화일의 리라이트시에는 이 4섹터분의 용량을 일괄하여 소거해서 문제없다.FIG. 10 shows an example of four sectors simultaneous writing to four memory chips (referred to as memory groups according to the drawings) a to d. Reference numeral 212 in the figure shows data from the system bus of the host and is transmitted in units of 32 bits (4 bytes). Reference numerals 222 to 225 denote serial numbers of data in units of 8 bits (1 byte), reference numeral 222 denotes a first byte of data, reference numeral 223 denotes a second byte of data, and reference numeral 224 denotes a third byte of data. (225) is the fourth byte of data. Hereinafter, up to the 2048th byte is transmitted continuously for 4 sectors. In fact, since it is a 32-bit bus, the first to fourth bytes are simultaneously received. Reference numerals 51 to 54 denote data latches for data temporary storage. Since it is simultaneous writing in four bytes, 32-bit data, that is, four bytes are stored in the data latches 51 to 54 at the same time, and then each byte is divided into memory groups a to d and written one by one. Each byte is written to the subsequent part of the memory groups a to d for the next 32-bit data. In this manner, up to 512 bytes per sector are written in 128 divided sections. Subsequently, the second sector is written in the subsequent portions of the memory groups a to d by 4 bytes in the same manner. Similarly, 512 bytes of the third sector and 512 bytes of the fourth sector are written. At this point, the data of the minimum erasure unit of 4 chips is sufficient to the 2048-byte data. Therefore, at the time of rewriting this file, the capacity for these four sectors is collectively erased so that there is no problem.

이상에서 설명한 바와 같이, 실제로는 각 섹터의 데이타는 특정한 메모리군에만 저장되는 것이 아니라, 메모리군 a~d로 분산해서 라이트된다. 단, 4섹터 전체의 데이타로서는 메모리군 a~d 4섹터분의 영역에 저장되게 된다.As described above, in practice, data of each sector is not only stored in a specific memory group but is distributed and written to memory groups a to d. However, the data of all four sectors is stored in an area corresponding to four sectors of the memory groups a to d.

이와 같이해서 화일을 4섹터씩 동시에 4칩 병렬 액세스를 반복한다. 최후의 4섹터에 못미치는 데이타가 남은 경우, 또는 처음부터 4섹터에 못미치는 화일인 경우에는 다음과 같이 실행된다.In this way, the file is repeated four sector parallel access by four sectors simultaneously. If there is less than 4 sectors last, or if a file is less than 4 sectors from the beginning, it is executed as follows.

3섹터인 경우에는 CPU의 32비트를 3으로 나눌수 없으므로, 2섹터와 1섹터로 나누어 대처한다.In the case of 3 sectors, 32 bits of the CPU cannot be divided by 3, so it is divided into 2 sectors and 1 sector.

2섹터인 경우에 대해서 제11도를 사용해서 설명한다. 제11도는 메모리군 a와 메모리군 b로의 2바이트 동시 라이트의 예를 도시한다.The case of two sectors will be described with reference to FIG. 11 shows an example of two-byte simultaneous writes to memory group a and memory group b.

2바이트씩의 동시 라이트이므로, 32비트 데이타, 즉 4바이트를 동시에 데이타래치 (51)~(54)에 저장한 후, 이것이 2바이트씩 이분되어 전반의 2바이트가 우선 메모리군 a와 메모리군 b에 1바이트씩 라이트되고, 다음에 후반의 2바이트가 메모리군 a와 메모리군 b에 1바이씩 라이트된다. 이와 같이해서 1섹터분의 512바이트째까지가 256회로 나뉘어 라이트된다. 계속해서 제 2 의 섹터의 1바이트째부터 마찬가지로 해서 메모리군 a,b의 후속부분에 256호로 나뉘어 라이트된다.Simultaneous write by two bytes, 32-bit data, i.e., four bytes are stored in data latches 51 to 54 at the same time, and then divided into two bytes so that the first two bytes of memory group a and memory group b first. The second two bytes are written one by one into the memory group a and the memory group b. In this manner, up to 512 bytes per sector are divided into 256 times. Subsequently, the first byte of the second sector is similarly written to the subsequent part of the memory groups a and b in 256.

1섹터의 경우는 도시하지 않지만, CPU로부터의 32비트의 데이타를 4분할하고, 한번에 8비트씩 1칩에 액세스한다. 1섹터의 512바이트는 512회로 나뉘어 어느 칩의 1섹터 영역에 저장된다.Although not shown in one sector, 32 bits of data from the CPU are divided into four, and one chip is accessed 8 bits at a time. 512 bytes of one sector are divided into 512 times and stored in one sector of a chip.

이상과 같이, 연속 액세스하는 섹터수에 의해 플래쉬메모리로의 액세스방법을 바꾸는 것으로 액세스의 고속화가 가능하게 된다. 또, 데이타가 저장방법을 바꾸는 것에 의해 플랫쉬메모리에 따른소거의 문제를 해결할 수 있다. 즉, 어떠한 저장방법에 있어서도 1칩의 최소 소거영역내에는 동일한 화일의 데이타만이 저장되는 것이 보증되므로, 플래쉬메모리의 소거에 따른 상술한 문제가 해소된다.As described above, the access speed can be increased by changing the access method to the flash memory according to the number of sectors continuously accessed. In addition, the problem of erasing due to the flat memory can be solved by changing the storage method of the data. That is, in any storage method, it is guaranteed that only data of the same file is stored in the minimum erase area of one chip, thereby eliminating the above-described problem caused by erasing the flash memory.

또, 본 발명에서는 플래쉬메모리를 CPU와 동기동작시키지만, 액세스형식에 의해 지연이 발생한다. 이 문제에 대해서는 CPU에 레디신호 입력에 있는 것을 사용하는 것에 의해, 임의로 CPU에 대기상태를 요구하는 것에 대응한다. 레디신호 입력이 있는 CPU는 현재에는 일반적이다. 예를 들면 현재의 범용의 퍼스널 컴퓨터에 탑재되어 있는 CPU로서 가장 일반적인 INTEL사의 16비트처리 이상의 CPU에는 모두 구비되어 있다. 이 레디신호를 네게이트하는 것에 의해 CPU는 처리 사이클을 정지하므로, 액세스 데이타의 리드, 라이트가 종료해 있지 않으면 이 신호를 네게이트하는 것만으로 좋고, 액세스가 종료한 시점에서 어서트하면 CPU는 처리의 실행을 개재한다. 이들은 화일기억장치가 CPU와 동기동작을 해서 비로서 가능하게 되는 제어이므로, 이때 동기한 클럭을 쌍방으로 입력해서 동기동작시키는 것은 필수이다. 이들 제어에 의해 1회의 처리에 있어서의 데이타폭이 CPU와 플래쉬메모리에서 다른 경우에는 데이타폭이 일치할 때까지 CPU를 대기시키는 것에 의해 용이하게 대응가능하다.In the present invention, the flash memory is synchronously operated with the CPU, but a delay occurs due to the access type. This problem corresponds to arbitrarily requesting a standby state from the CPU by using the one in the ready signal input to the CPU. CPUs with ready signal inputs are now common. For example, the CPU which is installed in the general-purpose personal computer of today is provided with all the CPUs of 16-bit processing or more of INTEL company which are the most common. By negating this ready signal, the CPU stops processing cycles. Therefore, if the read and write of access data is not completed, it is only necessary to negate this signal. Intervenes in the execution. These are the controls that enable the file storage device to be synchronized with the CPU so that it is essential to input the synchronized clocks in both directions to perform the synchronous operation. By these controls, when the data width in one processing differs between the CPU and the flash memory, the CPU can be easily responded by waiting the CPU until the data width matches.

다음에, 본 발명에 있어서의 상세한 실시예를 도면을 사용해서 설명한다.Next, the detailed Example in this invention is described using drawing.

우선, 제 1 도에 표준적인 퍼스널 컴퓨터의 구성에 본 발명의 플래쉬메모리 화일기억장치를 설치한 것을 도시한다. 도면중, (1)은 데이타나 프로그램의 처리를 담당하는 CPU이고, 그 데이타 버스폭은 32비트인 것으로 한다. (2)는 시스템 전체의 동기클럭을 발생하는 클럭발생기이다. (3)은 시스템 내부의 공유버스로 데이타 버스, 어드레스버스, 메모리커맨드, IO 커맨드등을 포함하고, 총칭해서 시스템버스라 한다. (4)는 본 발명의 플래쉬메모리 화일기억장치의 화일관리나 메모리제어를 실현하는 화일제어회로이다. (5)는 플래쉬메모리 화일기억장치의 기억매체로 되는 플래쉬메모리어레이이고, 메모리 1칩의 액세스 데이타 비트수는 8비트인 것으로 한다. 또, 화일제어회로(4), 플레쉬메모리어레이(5)로 플래쉬메모리 화일기억장치를 구성한다. (6)은 시스템의 주기억을 관리제어하는 주기억 제어회로이다. (7)은 주기억으로 DRAM등을 사용한다. (8)은 주변 IO 버스를 제어하는 회로이고, 주변 IO 장치의 하나로서 표시제어회로(9)와 통신장치(11)이나 대용량 외부기억장치(12)등이 접속되어 있다. 표시제어회로(9)에는 표시장치(10)이 접속되어 있다.First, Fig. 1 shows the installation of the flash memory file storage device of the present invention in the configuration of a standard personal computer. In the figure, (1) is a CPU in charge of processing data and programs, and the data bus width is 32 bits. (2) is a clock generator that generates a synchronous clock of the entire system. (3) is a shared bus inside the system, which includes a data bus, an address bus, memory commands, and IO commands, and is collectively referred to as a system bus. (4) is a file control circuit which realizes file management and memory control of the flash memory file storage device of the present invention. Denoted at 5 is a flash memory array serving as a storage medium of the flash memory file storage device, and the number of access data bits of one memory chip is 8 bits. The flash memory file storage device is constituted by the file control circuit 4 and the flash memory array 5. (6) is a main memory control circuit for managing and controlling the main memory of the system. (7) uses DRAM as main memory. (8) is a circuit for controlling the peripheral IO bus, and as one of the peripheral IO devices, the display control circuit 9, the communication device 11, the large capacity external storage device 12, and the like are connected. The display device 10 is connected to the display control circuit 9.

통상, 주변 IO 제어회로(8)에는 다른 클럭발생기가 내장되어 있고, 이들 주변 IO 장치는 그 클럭의 주기에 따라서 동작한다. 그러나 고속화를 위해 내부 시스템버스(3)에 직접 접속해서 CPU(1)과 동기동작하는 것도 고려된다. (13)은 내부 시스템버스(3)에 접속된 회로를 동기시키기 위해 CPU(1)을 포함하는 각 회로에 공급되는 클럭신호이다. 단, CPU(1)에 부여되는 클럭과 똑같을 필요는 없고, 회로에 따라서는 분주한 것이라도 동기해 있으면 좋다.Normally, other clock generators are built into the peripheral IO control circuit 8, and these peripheral IO devices operate in accordance with the clock cycle. However, it is also contemplated to operate directly with the CPU 1 by connecting directly to the internal system bus 3 for speed. Reference numeral 13 denotes a clock signal supplied to each circuit including the CPU 1 in order to synchronize the circuit connected to the internal system bus 3. However, it does not need to be the same as the clock given to the CPU 1, and depending on the circuit, even if divided, it may be synchronized.

(14)는 CPU(1)에 입력되는 레디제어신호이고, 각 회로에서 출력된 상태제시신호를 레디제어신호(15)에서 총괄해서 CPU(1)에 입력한다. (16)은 본 시스템의 사용자가 바라는 처리를 지시하기 위한 입력장치의 제어회로이고, (17)은 입력장치이다. 도면에서는 입력장치(17)을 키보드로 하고, 그 제어회로(16)은 키보드 컨트롤러(KBDC)로 하고 있다.Numeral 14 denotes a ready control signal input to the CPU 1 and collectively inputs the status indication signal output from each circuit to the CPU 1 in the ready control signal 15. Numeral 16 denotes a control circuit of an input device for instructing a process desired by the user of this system, and numeral 17 denotes an input device. In the figure, the input device 17 is a keyboard, and the control circuit 16 is a keyboard controller KBDC.

다음에, 제 1 도의 시스템의 동작을 설명한다. 통상의 동작시는 사용자로부터 입력장치(17)에 의해 지시된 처리를 실행하도록 주기억(7)에 저장되어 있는 프로그램이나 데이타를 CPU(1)이 연산처리하고, 그 결과를 표시장치(10)에 표시한다. 또, 필요하다면 통신장치(11)을 가동하거나, 대용량 외부기억장치(12)로 대용량 데이타의 저장을 실행한다. 그리고, 화일을 인출하거나 저장하는 동작시에는 화일제어회로(4)를 동작시킨다. 시스템의 가동시도 이곳에서부터 시스템 프로그램을 로드하게 된다. 이들 동작시에는 클럭발생기(2) 가 발생하는 클럭신호(13)에 의해 동기동작하고, 어떤 회로가 CPU(1)에 대기를 요구할 필요가 발생하면, 그 회로가 레디제어신호(15)에 CPU 대기를 요구하고, 레디제어신호(14)의 네게이트에 의해 CPU(1)에 그것이 전달된다. CPU(1)은 레디제어신호(14)가 재차 어서트될때까지 대기를 계속하게 된다. 이때, 화일제어회로(4)는 CPU(1)에 요구되는 화일수에 의해 CPU 대기시간을 증감하는 제어를 실행할 수 있게 되어 있다. 이 구성을 제 2 도에 의해 설명한다.Next, the operation of the system of FIG. 1 will be described. In normal operation, the CPU 1 calculates and processes a program or data stored in the main memory 7 so as to execute a process instructed by the input device 17 from the user, and the result is displayed on the display device 10. Display. In addition, if necessary, the communication device 11 is operated, or the large capacity external memory device 12 stores the large data. When the file is taken out or stored, the file control circuit 4 is operated. When the system is running, the system program is loaded from here. In these operations, when the clock generator 2 generates a synchronous operation by the clock signal 13 generated and a circuit needs to wait for the CPU 1, the circuit sends the CPU to the ready control signal 15 to the CPU. A request is made to wait, and it is transmitted to the CPU 1 by the negate of the ready control signal 14. The CPU 1 continues to wait until the ready control signal 14 is asserted again. At this time, the file control circuit 4 is capable of executing control for increasing or decreasing the CPU waiting time by the number of files required for the CPU 1. This configuration will be described with reference to FIG.

제 2 도는 플래쉬메모리 화일기억장치의 내부구성을 설명하는 도면이다. 도면중, (3),(4),(5),(13)은 제 1 도와 동일한 것이고, 이하는 화일제어회로(4)의 내부의 구성요소이다.2 is a diagram for explaining an internal configuration of a flash memory file storage device. In the figure, (3), (4), (5), and (13) are the same as those of the first diagram, and the following are the internal components of the file control circuit 4.

(21)은 시스템버스(3)과 인터페이스를 실행하는 레지스터군(I/F 레지스터군)이고, (22)는 화일제어회로(4)의 상태를 CPU(1)에 보고하기 위한 스테이터스 레지스터, (23)은 액세스하는 최초의 섹터번호를 설정하는 스타트 섹터 레지스터, (24)는 액세스하는 최후의 섹터번호를 설정하는 엔드 섹터 레지스터, (25)는 CPU(1)이 요구하는 처리를 커맨드코드로서 지시하는 커맨트 레지스터, (26)은 시스템버스와의 데이타의 수수를 실행하는 데이타 레지스터이다. (27)은 화일제어회로(4)의 내부의 제어를 총괄하는 컨트롤러이고, 1칩 마이컴등의 프로그램 가능한 인텔리전트한 LSI가 이상적이다. (28)은 기억매체인 플레쉬메모리어레이(5)의 제어를 실행하는 메모리제어회로, (29)는 플레쉬메모리어레이(5)에 라이트 또는 리드하는 데이타의 제어를 실행하는 데이타 제어회로이다. (30)은 메모리의 액세스를 고속으로 실행하기 위한 DMA 제어회로이고, 시스템의 클럭신호(13)은 본 회로에 입력된다. (31)은 레디제어신호(15)로 출력하는 상태제시신호, (32)는 이 플래쉬메모리 화일기억장치내의 로컬버스, (33)은 플레쉬메모리를 액세스하기 위한 제어신호 및 어드레스이다.Denoted at 21 is a register group (I / F register group) for performing interface with the system bus 3, and reference numeral 22 denotes a status register for reporting the status of the file control circuit 4 to the CPU 1; 23 is a start sector register for setting the first sector number to be accessed, 24 is an end sector register for setting the last sector number to be accessed, and 25 is a command code for processing required by the CPU 1. The command register, 26, is a data register which executes data transfer with the system bus. Reference numeral 27 denotes a controller that oversees the internal control of the file control circuit 4, and a programmable intelligent LSI such as a one-chip microcomputer is ideal. Numeral 28 denotes a memory control circuit which executes control of the flash memory array 5 which is a storage medium, and numeral 29 denotes a data control circuit which performs control of data to be written to or read from the flash memory array 5. Numeral 30 denotes a DMA control circuit for executing memory access at high speed, and the clock signal 13 of the system is input to the present circuit. Denoted at 31 is a status indication signal outputted as a ready control signal 15, at 32 is a local bus in the flash memory file storage device, and at 33 is a control signal and address for accessing the flash memory.

다음에 제 2 도의 플래쉬메모리 화일기억장치의 동작을 설명한다.Next, the operation of the flash memory file storage device of FIG. 2 will be described.

CPU(1)은 플래쉬메모리 화일기억장치로의 액세스의 필요성이 발생하면 시스템버스(3)을 통해서 액세스를 실행한다. 먼저 스테이터스 레지스터(22)의 내용을 리드해서 액세스 가능한 상황인지 확인한다. 그리고 다음에 액세스하는 섹터를 스타트 섹터 레지스터(23)과 엔드 섹터 레지스터(24)에 설정한다. 그리고 요구하는 액세스의 커맨드코드(리드 또는 라이트)를 커맨트 레지스터(25)에 라이트한다. 그리고 재차 스테이터스 래지스터(22)를 리드하여 액세스 가능하면 데이타 레지스터(26)으로의 데이타의 라이트 또는 리드를 실행한다.The CPU 1 executes access via the system bus 3 when the need for access to the flash memory file storage occurs. First, the contents of the status register 22 are read to see if the situation is accessible. The sector to be accessed next is set in the start sector register 23 and the end sector register 24. The command code (lead or write) of the requested access is then written to the command register 25. When the status register 22 is read and accessible again, the data register 26 writes or reads the data to the data register 26.

이때, 컨트롤러(27)은 이들 인터페이스 레지스터군(21)의 관리를 실행하여 CPU(1)로부터의 요구에 따르게 한다. 즉 스타트 섹터 레지스터(23)이나 엔드 섹터 레지스터(24), 커맨트 레지스터(25)를 리드해서 플레쉬메모리어레이(5)로의 액세스내용을 파악하고, 현재의 상태를 나타내는 코드를 스테이터스 레지스터(22)에 라이트해서 CPU(1)에 보고한다.At this time, the controller 27 executes management of these interface register groups 21 so as to comply with the request from the CPU 1. That is, the start sector register 23, the end sector register 24, and the command register 25 are read to grasp the contents of the access to the flash memory array 5, and the code indicating the current state is written to the status register 22. Report to the CPU 1.

데이타의 라이트 또는 리드시, CPU(1)로부터의 액세스 요구에 따르기 때문에 컨트롤러가 직접 플래쉬메모리를 액세스하면 동작속도가 늦어지는 것이 고려되므로, DMA 제어회로(30)에 의해 고속으로 플래쉬메모리 액세스를 실행하여 시스템버스(3)과의 데이타의 수수를 실행하는 구성으로 하고 있다. 그것을 위한 DMA 제어회로(30)이나 메모리제어회로(28)로의 액세스 내용의 설정이나 DMA의 기동등을 컨트롤러(27)이 실행한다.When writing or reading data, it is considered that the operation speed is slow when the controller directly accesses the flash memory because the access request from the CPU 1 is considered. Therefore, the flash memory access is executed by the DMA control circuit 30 at high speed. In this case, the data is transmitted to and received from the system bus 3. The controller 27 executes the setting of the contents of access to the DMA control circuit 30 and the memory control circuit 28 and the DMA activation.

DMA 제어회로(30)은 DMA를 실행하기 위한 어드레스발생 및 타이밍생성을 실행하고, 메모리제어회로(28)은 그 타이밍에 따라서 액세스신호를 발생한다. 플레쉬메모리어레이(5)는 이들 입력신호에 의해 데이타제어회로(29)와 데이타의 수수를 실행한다. 데이타제어회로(29)는 액세스의 섹터수에 따라서 데이타의 생성을 실행한다.The DMA control circuit 30 executes address generation and timing generation for executing DMA, and the memory control circuit 28 generates an access signal in accordance with the timing. The flash memory array 5 executes the data control circuit 29 and data transfer based on these input signals. The data control circuit 29 generates data in accordance with the number of sectors of the access.

예를 들어, 1섹터의 라이트 액세스이면 시스템버스(3)으로부터 1회의 액세스에 의해 전송되는 데이타를 플레쉬메모리어레이(5)의 1칩의 라이트 비트수에 일치시킨다. 본 실시예에서는 시스템버스(3)의 데이타 버스폭을 32비트로 하고 있으므로 1회의 액세스에 의한 전송으로 32비트 데이타가 얻어진다. 그리고 플래쉬 메모리 1칩의 데이타폭을 8비트로 하고 있으므로 전송된 데이타를 4회로 나누어 플레쉬메모리어레이(5)에 라이트하게 된다. 그 때문에 32비트 데이타를 4개의 8비트 데이타로 분할하는 처리를 데이타제어회로(29)가 래치회로를 사용해서 실행한다. 또 반대로 1섹터의 리드 액세스이면, 플레쉬메모리어레이(5)를 4회 리드 액세스해서 32비트 데이타를 마련해서 1회의 버스전송으로 한다. 이때 발생하는 시스템버스(3)의 대기시간은 데이타제어회로(29)가 발생하는 상태제어신호(31)에 의한 CPU(1)로의 대기요구로 발생한다.For example, in the case of one sector write access, the data transmitted by the single access from the system bus 3 is matched to the number of write bits of one chip of the flash memory array 5. In this embodiment, since the data bus width of the system bus 3 is 32 bits, 32-bit data is obtained by transmission by one access. Since the data width of one flash memory chip is 8 bits, the transferred data is divided into four times and written to the flash memory array 5. Therefore, the data control circuit 29 executes the process of dividing the 32-bit data into four 8-bit data using the latch circuit. On the contrary, if one sector of read access is performed, the flash memory array 5 is read accessed four times to prepare 32-bit data for one bus transfer. The waiting time of the system bus 3 generated at this time is caused by a waiting request to the CPU 1 by the state control signal 31 generated by the data control circuit 29.

한편, 여러개의 섹터의 액세스인 경우는 데이타제어회로(29)가 래치하는 데이타를 조절해서 액세스를 고속화하여 정상적으로 실행한다. 예를 들어 4섹터의 연속 리드 액세스이면, 8비트 액세스의 플래쉬메모리를 4칩 동시에 리드하는 것에 의해 32비트의 데이타를 고속으로 액세스한다. 또, 상술한 바와 같이 플레쉬메모리어레이(5)로의 라이트의 시점에서 4칩 동시 라이트 액세스를 실행해 둘 필요가 있다. 그렇게 하지 않으면 데이타의 순번이 달라져 정상적인 화일데이타로 되지 않는다. 단, 화일기억장치를 처리하는 시스템에서는 화일단위로 관리를 실행하는 것이 일반적으므로, 라이트했을 때의 섹터수의 같은 섹터수의 리드액세스하는 것이 보통이고, 섹터수에 의핸 액세스의 형식을 라이트와 리드에서 똑같게 해두면 상술한 징보를 특별히 기록할 필요는 없다.On the other hand, in the case of an access of several sectors, the data control circuit 29 adjusts the data latched to speed up the access and execute it normally. For example, in the case of four sectors of continuous read access, 32-bit data is accessed at high speed by simultaneously reading four chips of 8-bit access flash memory. As described above, four-chip simultaneous write access needs to be executed at the time of writing to the flash memory array 5. Otherwise, the order of the data will be different and the file will not be normal. However, in a file storage system, it is common to execute management on a file basis. Therefore, read access of the same sector number of the sector number at the time of writing is common. If you do the same in, you do not need to record the above remarks.

즉, 예를 들어 5섹터의 연속 라이트시에는 최초의 4섹터는 4칩에 병렬로 동시에 라이트하고, 남은 1섹터는 1칩에 저장한다. 액세스형식을 채택하고, 리드시에도 마찬가지로 리드하면, 항상 정상적인 화일데이타를 액세스할 수 있다. 또, 만약을 위해 플레쉬메모리어레이(5)에 저장되어 있는 섹터단위의 데이타에 데이타 저장 형식의 정보를 기록해 두어도 좋다. 그 기록장소로서는 플래쉬메모리내에 데이타 저장영역 이외의 용장데이타 저장영역이 존재하면 그곳에 저장하는 것이 적당하고, 용장영역이 없는 경우는 다른 기억영역을 설치해서 기록한다.That is, for example, when five sectors are continuously written, the first four sectors are simultaneously written in parallel on four chips, and the remaining one sector is stored in one chip. If the access type is adopted and the read is carried out as well, the normal file data can always be accessed. In addition, information of the data storage format may be recorded in sector data stored in the flash memory array 5. If there is a redundant data storage area other than the data storage area in the flash memory, it is appropriate to store it there. If there is no redundant area, another storage area is provided and recorded.

또, 6섹터의 연속 액세스시에는 4섹터의 병렬 액세스와 2섹터의 병렬 액세스에 의해 처리를 실행한다.In the case of continuous access of 6 sectors, processing is performed by parallel access of 4 sectors and parallel access of 2 sectors.

다음에, 이들 액세스신호 및 데이타 제어방법을 제 3 도에 따라서 더욱 상세하게 설명한다.Next, these access signals and data control methods will be described in more detail with reference to FIG.

제 3 도에서는 시스템버스를 32비트, 플래쉬메모리를 8비트의 비트폭으로 했을 때의 구성을 도시하고 있다. 도면중, 기출 번호는 지금까지 설명한 것과 동일한 것이다. (41)은 DMA 제어회로(30)의 어드레스 발생을 위한 카운터이고, 제 2 도에는 도시하지 않았지만, 클럭신호(13)이나 시스템버스(3)의 IO 액세스(커맨드)신호 또는 메모리 액세스(커맨드)신호를 입력하고, 이것에 동기해서 카운터 업한다. (42)는 컨트롤러(27)의 로컬버스(32)가 접속되는 DMA 제어의 기동레지스터이고, 이 레지스터에 코드를 라이트하는 것에 의해 바라는 DMA 전송을 개시할 수 있다. (43)도 역시 로컬버스(32)에 접속되는 섹터 레지스터이고, 액세스하는 섹터번호를 라이트하는 것에 의해 임의의 섹터번호의 DMA 전송을 실행할 수 있다. 실동작상에서는 이 섹터번호의 라이트값을 메모리제어회로(28)에 입력해서 플래쉬메모리의 상위 어드레스나 칩 셀렉트신호의 생성에 사용한다.FIG. 3 shows the configuration when the system bus is 32 bits and the flash memory is 8 bits. In the figure, the reference number is the same as described so far. Reference numeral 41 denotes a counter for generating an address of the DMA control circuit 30. Although not shown in FIG. 2, an IO access (command) signal or a memory access (command) of the clock signal 13 or the system bus 3 is shown. The signal is input and the counter is counted up in synchronization with this. Reference numeral 42 denotes a start register for DMA control to which the local bus 32 of the controller 27 is connected, and the desired DMA transfer can be started by writing a code to this register. Reference numeral 43 is also a sector register connected to the local bus 32, and the DMA transfer of any sector number can be executed by writing the sector number to be accessed. In actual operation, the write value of this sector number is input to the memory control circuit 28 and used for generation of the upper address of the flash memory or the chip select signal.

(44)는 DMA 전송시에 각 제어회로에서 동기를 취하기 위한 타이밍신호를 발생하는 타이밍제어회로이다. (45)는 카운터(41)과 섹터 레지스터(43)의 값에 따라서 메모리제어회로(28)의 발생하는 메모리어드레스이다. (46)은 메모리어드레스(45)의 발생에 맞취 생성하는 메모리제어신호이다.Reference numeral 44 denotes a timing control circuit which generates timing signals for synchronizing with each control circuit during DMA transfer. Reference numeral 45 denotes a memory address generated by the memory control circuit 28 in accordance with the values of the counter 41 and the sector register 43. Reference numeral 46 denotes a memory control signal generated in accordance with the occurrence of the memory address 45.

(51),(52),(53),(54)는 각각 1바이트(8비트)의 데이타래치이고, 데이타제어회로(29)내에 있어서의 32비트 데이타와 8비트 데이타 사이의 데이타폭 변환을 위한 4바이트(32비트)의 데이타래치를 구성하고 있다. 시스템버스(3)의 데이타를 D0~D31로 하면, 래치(51)은 D0~D7, 래치(52)는 D8~D15, 래치(53)은 D16~D23, 래치(54)는 D24~D31을 각각 래치한다. (55)는 이들 데이타래치의 래치신호 발생회로이다. (56)은 로컬버스(32)와 접속되어 데이타폭이나 데이타의 나열법을 설정하는 데이타폭 제어설정 레지스터이다. 본 실시예에서는 이 데이타폭 제어설정 레지스터(56)에 리드 액세스시 ? ? ?의 연속 액세스 섹터수로서 "1", "2", "4" 중 어느것인가를 설정하는 것에 의해 래치신호의 발생과 그 타이밍을 래치신호 발생회로(55)에 지시한다. 그리고 데이타래치(51),(52),(53),(54)의 각각에 입력하는 래치신호가 (57),(58),(59),(60)이다. 예를 들어 "1"를 설정하면, 래치신호(57),(58),(59),(60)을 순차로 하나씩 출력하고, 1칩의 플래쉬메모리로부터의 데이타를 4회 액세스해서 32비트의 데이타를 생성하여 시스템버스(3)으로 출력한다. 또 "2"를 설정하면, 래치신호(57),(58)을 동시에 출력하고, 다음에 래치신호(59),(60)으로 동시에 출력하는 것을 교대로 실행하고. 2칩의 플래쉬메모리로부터의 데이타를 2회씩 액세스해서 32비트의 데이타를 생성하여 시스템버스(3)으로 출력한다. 또 "4"를 설정하면 래치신호(57),(58),(59),(60)으로 동시에 출력하고, 4칩의 플래쉬메모로부터의 데이타를 1회만 액세스해서 32비트의 데이타를 생성하여 시스템버스(3)으로 출력한다.(51), (52), (53), and (54) are data latches of one byte (8 bits), respectively, and data width conversion between 32-bit data and 8-bit data in the data control circuit 29 is performed. It consists of 4 bytes (32 bits) of data latch. When the data of the system bus 3 is D0 to D31, the latch 51 is D0 to D7, the latch 52 is D8 to D15, the latch 53 is D16 to D23, and the latch 54 is D24 to D31. Latches each. Reference numeral 55 denotes a latch signal generation circuit for these data latches. Reference numeral 56 denotes a data width control setting register which is connected to the local bus 32 and sets the data width and the data sorting method. In this embodiment,? Is read access to the data width control setting register 56 in the present embodiment. ? By setting any of " 1 ", " 2 ", " 4 "as the number of consecutive access sectors of?, The latch signal generation circuit 55 instructs the latch signal generation circuit and its timing. The latch signals input to the data latches 51, 52, 53, and 54 are (57), (58), (59), and (60), respectively. For example, if " 1 " is set, the latch signals 57, 58, 59, and 60 are sequentially output one by one, and data from one chip of flash memory is accessed four times, and the 32-bit Generates data and outputs it to the system bus (3). When " 2 " is set, the latch signals 57 and 58 are output simultaneously, and then the latch signals 59 and 60 are simultaneously outputted alternately. The data from the two-chip flash memory is accessed twice, and 32-bit data is generated and output to the system bus 3. If "4" is set, the system simultaneously outputs the latch signals 57, 58, 59, and 60, and accesses data from the 4-chip flash memo only once to generate 32-bit data. Output to bus (3).

한편, 라이트 액세스시에는 항상 데이타래치(51),(52),(53),(54)에 동시에 래치신호를 보내어 시스템으로부터의 32비트 데이타를 한번에 래치하게 된다. (61)은 데이타래치(51),(52),(53),(54)에 저장된 데이타 또는 메모리(5)로부터의 데이타를 분배하는 데이타 분배회로이다. (62)는 플레쉬메모리어레이(5)와 데이타 분배회로(61)을 연결하는 32비트의 데이타 버스이다. (63)은 데이타 분배회로(61)의 데이타의 방향을 결정하기 위한 리드 라이트신호이고, 인터페이스 레지스터(21)의 커맨트 레지스터(25)등에서 공급을 받는 것이 좋다.On the other hand, during write access, latch signals are simultaneously sent to the data latches 51, 52, 53, and 54 to latch 32-bit data from the system at once. Reference numeral 61 denotes a data distribution circuit for distributing data stored in the data latches 51, 52, 53, and 54 or data from the memory 5. Reference numeral 62 denotes a 32-bit data bus connecting the flash memory array 5 and the data distribution circuit 61 to each other. Reference numeral 63 denotes a read / write signal for determining the direction of data of the data distribution circuit 61, and is preferably supplied from the command register 25 of the interface register 21 or the like.

데이타 분배회로(61)은 쌍방향의 버퍼로 되어 있고, 한쪽은 데이타래치(51),(52),(53),(54)에 접속되고, 다른 한쪽은 플레쉬메모리어레이(5)에 접속되어 있다. 플레쉬메모리어레이(5)측에는 32비트분의 입력으로 되어 있고, 플레쉬메모리어레이(5)의 전체 칩을 4조의 메모리군으로 나누어 1조씩 다른 비트군(비트 0~7)(비트 8~15)(비트 16~23)(비트 24~31)을 할당하고, 계32비트로 해서 입력하고 있다. 그리고 리드나 라이트에 의해 방향을 정하고, 각각의 데이타의 분배를 데이타폭 제어설정 레지스터(56)의 설정내용에 따라서 결정한다.The data distribution circuit 61 is a bidirectional buffer, one of which is connected to the data latches 51, 52, 53, and 54, and the other of which is connected to the flash memory array 5. . On the flash memory array 5 side, 32 bits are input, and the entire chip of the flash memory array 5 is divided into four sets of memory groups and the other groups of bits (bits 0 to 7) (bits 8 to 15) ( Bits 16 to 23 (bits 24 to 31) are allocated and input as 32 bits. The direction is determined by reads or writes, and distribution of each data is determined in accordance with the setting contents of the data width control setting register 56.

이 데이타의 분배에 대해서 제12도, 제13도, 제14도에 의해 구체적으로 설명한다. 이들 도면은 데이타 분배회로(61)의 데이타 분배열을 데이타폭 제어설정 레지스터(56)의 설정값별로 도시한 것이다. 각각, 제12도는 연속 액세스 섹터수가 1, 제13도는 연속 액세스 섹터수가 2, 제14도는 연속 액세스 섹터수가 4인 경우에 있어서의 데이타 분배를 나타내고 있고, 각 경우에 4개의 메모리 군중 어느것에 액세스하는가에 따라 4종류의 데이타 분배가 있다. 또 리드 라이트도 구별해서 나타내고 있다. 또 연속 액세스 섹터수가 1인 경우에는 4개의 시스템 사이클에서 1액세스로 되고, 연속 액세스 섹터수가 2인 경우에는 2개의 시스템 사이클에서 1 액세스, 연속 액세스 섹터수가 4인 경우에는 1개의 시스템 사이클에서 1액세스로 된다.The distribution of this data will be described in detail with reference to FIGS. 12, 13, and 14. These figures show the data distribution string of the data distribution circuit 61 for each setting value of the data width control setting register 56. FIG. 12 shows the data distribution in the case where the number of consecutive access sectors is 1, the number of consecutive access sectors is 2, and the number of consecutive access sectors is 4 in FIG. 13, and which four memory groups are accessed in each case. There are four types of data distribution. Lead lights are also shown separately. If the number of consecutive access sectors is 1, one access is made in four system cycles. If the number of consecutive access sectors is two, one access is made in two system cycles. If the number of consecutive access sectors is four, one access is made in one system cycle. It becomes

연속 액세스 섹터수가 1인 경우는 4개로 분할된 메모리의 어느곳에 액세스하는가에 따라 4종류로 분리되고, 연속 액세스수가 2 및 4인 경우도 어느 메모리군을 기점으로 하는가에 따라 역시 4종류로 분리된다. 즉 메모리의 사용법에 의해 기점을 적절하게 결정할 수 있고, 이와 같이 하는 것에 의해 사용되는 메모리군이 한쪽으로 치우치는 것을 방지할 수 있다. 예를 들어 반드시 메모리군 1을 기점으로 하면 데이타의 분배법은 간소화할 수 있지만, 메모리군 1이 사용되는 비율로 높아져 사용량, 사용빈도 모두 치우침이 발생하는 것이 예상된다. 치우침이 발생하면 최종적으로는 1개의 메모리군을 사용할 수 없게 되어 연속 섹터수가 4인 고속 라이트 액세스를 할 수 없게 되어 버린다. 따라서 기점은 모든 메모리군에 설정가능하게 한다.If the number of consecutive access sectors is 1, it is divided into four types according to which memory is divided into four, and if the number of consecutive accesses is 2 and 4, it is also divided into four types depending on which memory group is the starting point. . That is, the origin can be appropriately determined by the usage of the memory, and the memory group used can be prevented from being biased to one side. For example, if the memory group 1 is always used as a starting point, the data distribution method can be simplified, but the memory group 1 is used at a higher rate, so that the amount of usage and the frequency of use are expected to be skewed. When the shift occurs, one memory group cannot be used finally, and fast write access with 4 consecutive sectors becomes impossible. Thus, the origin can be set in all memory groups.

또, 연속 섹터수가 1 또는 2인 리드에 있어서는 도면에서 분배회로의 데이타결선을 각각의 사이클에 있어서 따로따로 하고 있지만, 래치신호를 목적의 래치 이외로는 출력하지 않으므로, 각 사이클에서 분할하는 일없이 결선을 함께 해도 좋다. 즉, 연속 섹터수가 1(제12도)인 A의 리드에 있어서는 분배를 순차 사이클에서 래치 1-메모리군 1, 래치 2-메모리군 1, 래치 3-메모리군 1, 래치 4-메모리군 1로 하고 있지만, 모든 사이클에서 모든 래치로의 결선을 메모리군의 1에 접속해도 상관없다. 이것은 데이타의 결선을 하고 있어도 래치신호를 출력하지 않으면 영향이 없기 때문이다.In the reads having 1 or 2 consecutive sectors, the data wirings of the distribution circuits are separately set for each cycle in the drawing. However, since the latch signals are not output except for the desired latches, they are not divided in each cycle. You can do the wiring together. In other words, in the read of A having the number of consecutive sectors 1 (Fig. 12), the distribution is transferred to the latch 1-memory group 1, the latch 2-memory group 1, the latch 3-memory group 1, and the latch 4-memory group 1 in sequential cycles. However, the wiring to all latches may be connected to one of the memory groups in every cycle. This is because even if data is connected, it does not affect the output unless the latch signal is output.

또 구체적인 설명을 덧붙이면, 예를 들어 1섹터의 라이트 액세스에서는 제12도에 도시한 바와 같이, 32비트의 데이타 버스(62)중 액세스 대상의 플래쉬메모리군의 1개에 접속된 비트군에 대해서 1회째에서는 데이타래치(51)에서, 2회째에서는 데이타래치(52)에서, 3회째에서는 데이타래치(53)에서, 4회째에서는 데이타래치(54)에서, 이하 (51)부터 차례대로 반복해서 데이타를 받아 라이트를 실행한다. 리드에 있어서는 래치신호에 의해 1사이클씩 각 래치로 데이타를 분배하여 32비트 데이타를 정렬한다.In addition, for example, in the write access of one sector, as shown in FIG. 12, the bit group connected to one of the flash memory groups to be accessed in the 32-bit data bus 62 is shown. In the first time, in the data latch 51, in the second time, in the data latch 52, in the third time, in the data latch 53, in the fourth time, in the data latch 54, in the following (51), the data is repeated. Take the light and run it. In the read, data is distributed to each latch one cycle by the latch signal, and 32-bit data is aligned.

2섹터의 라이트 액세스에서는 즉 데이타폭 2바이트의 라이트이면, 제13도에 도시한 바와 같이 32비트의 데이타 버스(62)중 해당하는 2개의 메모리군에 접속되어 있는 2개의 비트군에 대해서, 1회째의 액세스에서는 데이타래치(51),(52)에서, 2회째의 액세스에서는 (53),(54)에서 데이타를 받고, 이하 교대로 분배한다. 한편, 리드 액세스에서는 방향이 반대로 되어 해당하는 2개의 메모리군에서 1회째의 액세스에서는 데이타래치(51),(52)로, 2회째의 액세스에서는 (53),(54)로 데이타를 분배하고, 이것을 반복한다.In the 2-sector write access, that is, if the data width is 2 bytes, as shown in FIG. 13, 1 for each of the two bit groups connected to the corresponding two memory groups in the 32-bit data bus 62 is shown. In the first access, data is received from the data latches 51 and 52, and in the second access, the data is received from the 53 and 54, and then alternately distributed. On the other hand, in the read access, the directions are reversed, and data is distributed to the data latches 51 and 52 in the first access, and to 53 and 54 in the second access in the corresponding two memory groups. Repeat this.

4섹터의 라이트 액세스, 즉 데이타폭 4바이트의 라이트면, 32비트의 데이타 버스(62)는 선두에 해당하는 메모리군부터 순서대로 데이타래치(51),(52),(53),(54)에 접속되고, 1사이클의 액세스로 32비트의 액세스가 종료한다. 리드에서는 방향이 반대로 된다.4 sector write access, i.e., 4 bytes of data width, 32-bit data bus 62 has data latches 51, 52, 53, and 54 in order from the memory group corresponding to the head. 32-bit access is terminated in one cycle of access. In the lead, the direction is reversed.

이상의 동작을 실행하기 위해 컨트롤러(27)은 DMA 제어회로(30)을 기동하기 전에 지금까지 설명한 레지스터류에 적절한 값을 설정해 둔다.In order to perform the above operation, the controller 27 sets an appropriate value to the registers described above before starting the DMA control circuit 30.

고속화를 위해 상술한 바와 같이 여러개의 메모리군에 동시에 액세스를 실행하는 경우, 각 메모리군에 부여하는 어드레스에 대해서, 이하 제 5 도A, 제 5 도B를 참조해서 검토한다.As described above for speeding up, when accessing several memory groups simultaneously, the addresses given to the respective memory groups are examined with reference to FIGS. 5A and 5B below.

제 5 도A, 제 5 도B에 있어서, (81)~(84)는 각각 메모리군 1~메모리군 4를 나타내고 있다. 제 5 도A는 어느 정도의 화일의 라이트가 실행된 상태를 나타내고, 제 5 도B는 그후 어느 화일에 대해서 갱신되어 그 화일 용량이 증대한 상태를 나타내고 있다. 도시한 데이타기호(m-n)의 m은 화일번호, n은 각 화일을 저장하고 있는 섹터번호이다. 예를 들면, (3-2)는 화일번호 3번의 제 2 섹터를 나타낸다. 단, 이 도면은 각 화일의 1이상의 섹터에 대해서 어느 메모리군의 영역(1섹터분의 용량을 갖는다)이 어떻게 이용되는지를 총체적으로 도시한 것이고, 실제적으로는 2 이상의 섹터의 연속 액세스시에는 각 메모리군의 1섹터 용량 영역내에 단독의 섹터내용만이 저장되는 것은 아니고, 여러개의 섹터의 내용이 분산해서 저장된다. 이점에 관해서는 화일관리의 설명에 있어서 다음에 상세하게 기술한다.In FIGS. 5A and 5B, 81 to 84 represent memory groups 1 to 4, respectively. Fig. 5A shows a state in which a certain amount of files have been written, and Fig. 5B shows a state in which a file is updated after that and its file capacity has increased. In the illustrated data symbol (m-n), m is a file number and n is a sector number that stores each file. For example, (3-2) represents the second sector of file number three. However, this figure collectively shows how the memory group area (having the capacity for one sector) is used for one or more sectors of each file. Not only the contents of a single sector are stored in one sector capacity area of the memory group, but the contents of several sectors are distributed and stored. This will be described in detail later in the description of file management.

제 5 도A에서 화일번호 1(1-n으로 붙여져 있는 모든 섹터)의 액세스에 있어서 1-1~1-4까지의 동시 액세스에 있어서는 이들의 같은 열에 나열해 있기 때문에 각 메모리군에 동일한 어드레스를 부여할 수 있다. 그러나, 화일번호 2에 있어서는 2-1~2-4까지를 동시 액세스 사용으로 하면, 메모리군 4에는 다른 메모리군과는 다른 어드레스를 부여할 필요가 있다. 이것은 어드레스버스를 메모리의 수만큼 마련할 필요가 있다는 것을 의미한다. 또는 메모리군에 다른 어드레스를 부여하는 것등의 방법이 필요로 된다. 따라서, 이것을 피하기 위해서는 화일번호 2의 액세스에 있어서 2-1은 단독으로 액세스하고, 2-2, 2-3을 동시 액세스하고, 또 2-4는 재차 단독으로 액세스하는 액세스형식을 취할 필요가 있다. 그러나 이것에서는 고속화에 있어서 낭비가 발생한다. 그래서 다른 어드레스를 부여하는 구성예를 제 9 도에 의해 설명한다.In FIG. 5A, the same addresses are assigned to the respective memory groups because they are listed in the same column for the simultaneous access of the file number 1 (all sectors denoted by 1-n) from 1-1 to 1-4. You can give it. However, in the file number 2, when 2-1 to 2-4 are used for simultaneous access, the memory group 4 needs to be given an address different from the other memory groups. This means that the address bus needs to be provided as many as the number of memories. Or a method of giving a different address to the memory group. Therefore, in order to avoid this, it is necessary to take an access form in which file number 2 is accessed by 2-1 alone, 2-2 and 2-3 are accessed simultaneously, and 2-4 is accessed again by itself. . However, this generates waste in speeding up. Thus, a configuration example of giving another address will be described with reference to FIG.

제 9 도는 메모리군수를 4로 했을 때의 메모리제어회로(28)내의 어드레스 생성회로의 구성예이다. 도면중, (201)~(204)는 플레쉬메모리어레이(5)를 구성하는 4개의 메모리군이고, (201)은 제 1 의 메모리군 a, (202)는 제 2 의 메모리군 b, (203)은 제 3 의 메모리군 c, (204)는 제 4 의 메모리군 d이다. (205)는 메모리군 b에 부여하는 상위 어드레스의 래치회로 b, (206)은 메모리군 c에 부여하는 상위 어드레스의 래치회로 c, (207)은 메모리군 d에 부여하는 상위 어드레스의 래치회로 d이다. (208)은 메모리제어회로(28)의 어드레스버스(제 3 도의 (45)에 대응), (209)는 어드레스버스(208)의 하위 어드레스이다. 그 어드레스 비트수는 플레쉬메모리칩의 데이타 소거 최소단위 또는 화일관리의 최소단위의 기억용량을 액세스하는데 상당하는 어드레스 비트수로 한다. 예를 들어, 데이터 소거 최소단위가 512바이트이면, 9비트로 된다. 플래쉬메모리칩의 데이타 소거 최소단위가 화일관리의 최소단위 이하인 경우는 화일관리의 최소단위에 상당하는 어드레스 비트수로 하는 것이 유효한다. (210)은 어드레스버스(208)의 하위 어드레스(209)를 제외한 상위 어드레스이다. 단, 메모리군을 액세스하는데 불필요한 상위의 어드레스는 제외하는 것으로 한다. (211)은 메모리군 b를 액세스하기 위해 어드레스 래치 b에 기억된 상위 어드레스, (212)는 메모리군 c를 액세스하기 위해 어드레스 래치 c에 기억된 상위 어드레스, (213)은 메모리군 d를 액세스하기 위해 어드레스 래치 d에 기억된 상위 어드레스이다. (214)는 메모리군 a(201)의 메모리제어신호, (215)는 메모리군 b(202)의 메모리제어신호, (216)은 메모리군 c(203)의 메모리제어신호, (217)은 메모리군 d(204)의 메모리제어신호이다.9 is a configuration example of an address generation circuit in the memory control circuit 28 when the memory group is four. In the figure, reference numerals 201 to 204 denote four memory groups constituting the flash memory array 5, reference numeral 201 denotes a first memory group a and reference numeral 202 denotes a second memory group b, (203). ) Is the third memory group c, and 204 is the fourth memory group d. 205 denotes a latch circuit b of an upper address assigned to the memory group b, 206 denotes a latch circuit c of an upper address assigned to the memory group c, and 207 a latch circuit d of an upper address assigned to the memory group d. to be. Reference numeral 208 denotes an address bus (corresponding to 45 in FIG. 3) of the memory control circuit 28, and 209 denotes a lower address of the address bus 208. The number of address bits is the number of address bits corresponding to accessing the storage capacity of the minimum data erasing unit of the flash memory chip or the minimum unit of file management. For example, if the data erasing minimum unit is 512 bytes, it is 9 bits. When the minimum unit of data erasure of the flash memory chip is less than or equal to the minimum unit of file management, it is effective to set the number of address bits corresponding to the minimum unit of file management. Reference numeral 210 denotes an upper address except the lower address 209 of the address bus 208. However, the upper address unnecessary to access the memory group is excluded. Reference numeral 211 denotes an upper address stored in address latch b to access memory group b, 212 an upper address stored in address latch c to access memory group c, and 213 accesses memory group d. Is the upper address stored in the address latch d. Reference numeral 214 denotes a memory control signal of the memory group a 201, 215 denotes a memory control signal of the memory group b 202, 216 denotes a memory control signal of the memory group c 203, and 217 denotes a memory. This is a memory control signal of group d (204).

제 9 도는 구성에 있어서, 메모리군 a에서 메모리군 d까지를 동시에 액세스하는 경우에는 미리 어드레스래치(205)~(207)에 각각의 메모리군을 액세스하는 상위 어드레스를 라이트해 둔다. 그리고, 액세스를 실행할 때에는 하위 어드레스(209)는 모든 메모리군에 공통이므로, 어드레스버스는 메모리군 a만을 액세스하기 위한 어드레스를 공급하고, 메모리군 a 이외의 메모리군은 대응하는 어드레스래치회로에서 상위 어드레스에 의해 액세스를 실행한다. 또, 액세스의 제어는 메모리제어신호(214)~(217)에 맡겨지고, 예를 들어 메모리군 a와 메모리군 d만의 액세스이면, 메모리제어신호(214),(215)만이 액티브로 되게 한다. 또, 예를 들어 메모리군 d만의 액세스에 있어서, 메모리군 a에는 메모리제어신호(214)를 액티브로 하지 않으면 어떠한 어드레스가 부여되어도 문제없다. 이상에 의해 각 메모리군에 다른 어드레스를 부여하는 것이 가능하게 되고, 메모리군마저 4개로 분산되어 있으면, 물리적으로 어드레스가 다른곳에 저장되어 있는 동일 화일의 데이타를 동시에 액세스할 수 있어 고속화의 공헌도를 높일 수 있다. 제 9 도의 구성에서는 메모리군 a의 어드레스래치를 간략화하기 위해 생략하고 있지만, 물론 메모리군 a에도 어드레스래치를 마련하는 것이 유효하면, 그렇게 해도 좋다.In the configuration of FIG. 9, when accessing the memory group a to the memory group d simultaneously, the upper address for accessing each memory group is written in the address latches 205 to 207 in advance. When the access is executed, since the lower address 209 is common to all the memory groups, the address bus supplies an address for accessing only the memory group a, and memory groups other than the memory group a are the upper addresses in the corresponding address latch circuit. Access is performed by The control of the access is left to the memory control signals 214 to 217. For example, if only the memory group a and the memory group d are accessed, only the memory control signals 214 and 215 are made active. For example, in accessing only the memory group d, no address may be given to the memory group a unless the memory control signal 214 is activated. As a result, it is possible to give different addresses to each memory group. If even the memory groups are distributed into four groups, data of the same file stored in different physical locations can be accessed at the same time, thereby increasing the contribution of speeding up. Can be. Although the structure of FIG. 9 is omitted to simplify the address latch of the memory group a, of course, if it is effective to provide the address latch in the memory group a, it may be so.

이상의 실시예에 의하면, CPU(1)은 비교적 적은 레지스터에 간단한 지정을 실행하는 것에 의해 바라는 섹터의 리드 라이트 액세스를 고속으로 액세스할 수 있다. 또, 화일 컨트롤러를 1칩 마이컴으로 해서 섬세한 제어를 소프트웨어에 의해 지시할 수 있고, DMA 전송 제어회로를 탑재하는 것에 의해 1칩 마이컴이 시스템보다 늦은 동작밖에 할 수 없어도 데이타전송을 고속으로 실행할 수 있다. 단, 만일 1칩 마이컴의 동작속도가 시스템에 대해서 충분히 추수할 수 있는 동작이 가능하다면, DMA 제어회로는 필요없이 모든 데이타전송을 1칩 마이컴이 실행하는 구성도 고려된다.According to the above embodiment, the CPU 1 can access the read / write access of the desired sector at high speed by performing simple designation to a relatively few registers. By using the file controller as a single-chip microcomputer, fine control can be instructed by software, and by incorporating a DMA transfer control circuit, data transfer can be performed at high speed even if the single-chip microcomputer can only operate later than the system. . However, if the operation speed of the one-chip microcomputer can be sufficiently harvested for the system, a configuration in which the one-chip microcomputer performs all data transfers without the DMA control circuit is also considered.

또, 본 실시예에서는 데이타 버스를 시스템 32비트, 플래쉬메모리 8비트로 해서 설명을 하였지만, 16비트 동작의 CPU(1)이나 64비트동작의 CPU, 또 16비트 입출력의 플래쉬메모리등에 대해서도 데이타래치의 수나 데이타폭 제어설정 레지스터등의 구성이나 컨트롤러의 제어프로그램등을 바꾸는 것에 의해 용이하게 다른 데이타폭에 대응할 수 있다. 그 구체적인 예를 제15도에 도시하였다. 제15도는 각 비트폭의 조합에 있어서의 하드웨어 구성의 구체적인 수치를 나타내고 있다. 표의 가로방향은 플레쉬메모리의 데이타의 비트수이고, 4비트, 8비트, 16비트, 32비트를 예를 들고 있다. 세로방향은 시스템의 데이타폭을 나타내고 있고, 간단한 정보처리장치의 8비트에서부터, 현재의 퍼스날 컴퓨터의 주류인 16비트, 32비트, 그리고 장래적인 퍼스널 컴류터나 고성능 컴퓨터의 64비트, 128비트의 예를 나타내고 있다. 또 하드웨어 구성으로서 들고 있는 데이타 분배회로는(1개의 분배회로가 분배하는 데이타 비트수)×(분배회로의 구성수)를 나타내고 있고, 실시예의 데이타 분배회로(61)로 설명하면, 도면중의 원 1개가 1개의 분배회로가 분배하는 데이타를 나타내고, 원의 수가 분배회로의 구성수를 나타내고 있다. 각 분배회로의 접속은 제12도~제14도와 동일한 개념으로 나타낼 수 있다. 래치수는 실시예에 있어서의 래치 (51)~(54)의 수의 증감이지만, 시스템 데이타폭보다 메모리데이타 비트수가 큰 경우에는 래치의 위치는 데이타 분배회로의 메모리측에 구성되게 된다. 메모리군수는 실시예에서는 4개로 분할되어 있는 메모리의 분할수를 나타내고 있다.In the present embodiment, the data bus is described as 32 bits system and 8 bits flash memory. However, the number of data latches is also used for the 16-bit CPU 1, the 64-bit CPU, and the 16-bit I / O flash memory. By changing the configuration of the data width control setting register, the control program of the controller, etc., it is possible to easily cope with different data widths. A specific example is shown in FIG. 15 shows specific numerical values of the hardware configuration in each bit width combination. The horizontal direction in the table is the number of bits of data in the flash memory, and 4, 8, 16, and 32 bits are given as examples. The vertical direction represents the data width of the system and is from the 8 bits of a simple information processing device to the 16 or 32 bits that are the mainstream of current personal computers and the 64 and 128 bits of future personal computers or high performance computers. Indicates. In addition, the data distribution circuit held as a hardware configuration shows (the number of data bits distributed by one distribution circuit) x (the number of configurations of the distribution circuit), and is explained by the data distribution circuit 61 of the embodiment. The number represents data distributed by one distribution circuit, and the number of circles indicates the number of configurations of the distribution circuit. Connection of each distribution circuit can be represented by the same concept as FIG. 12 to FIG. The number of latches is an increase or decrease in the number of latches 51 to 54 in the embodiment. However, when the number of memory data bits is larger than the system data width, the position of the latch is configured on the memory side of the data distribution circuit. In the embodiment, the memory group indicates the number of divisions of the memory divided into four.

단, 본 실시예를 포함하여 데이타 분배회로의 분배수나 래치수, 메모리군수는 최저 한도의 수이고, 회로규모, 단자수등에 여유가 있으면, 증가시키는 것에 의해 더욱 효과적인 시스템 구성으로 된다.However, the number of distributions, the number of latches, and the number of memory groups of the data distribution circuit including the present embodiment are the minimum number, and if there is room in the circuit size, the number of terminals, or the like, the system configuration can be increased by increasing the number.

이러한 것은 메모리군수를 증가시키는 것에 의해 데이타의 저장메모리의 선택에 여유가 생기므로, 상술한 바와 같은 메모리의 사용량, 사용빈도의 치우침을 더욱 방지할 수 있기 때문이다. 또, 병렬 액세스하는 메모리수를 증가시킬 수 있으므로, 고속화를 더욱 촉진시킬 수 있다. 특히 시스템 데이타폭과 메모리 데이타 비트수가 동일하거나 또는 메모리의 데이타 비트수가 많은 경우에는 실시예에서 기술한 바와 같은 데이타 버스폭을 맞추는 효과는 없지만, 여러개의 메모리칩을 동시에 액세스해서 소위 인터리브방식에 의한 고속화를 실현할 수 있다. 이때에는 메모리군수를 증가시키는 것에 의해 동시에 데이타 분배회로에 있어서의 메모리의 데이타의 분배수나 래치수를 동시에 증가시킬 필요가 있다.This is because the increase in the memory group makes it possible to select a storage memory for data, and thus, the bias of the memory usage and the frequency of use as described above can be further prevented. In addition, since the number of parallel access memories can be increased, the speed can be further promoted. In particular, in the case where the system data width and the number of memory data bits are the same or the number of data bits in the memory are large, there is no effect of matching the data bus width as described in the embodiment, but the speed is increased by the so-called interleaving method by accessing multiple memory chips simultaneously. Can be realized. At this time, it is necessary to simultaneously increase the number of distributions and latches of data in the memory in the data distribution circuit by increasing the number of memory groups.

또, 본 실시예에서는 플래쉬메모리가 시스템으로부터의 데이타전송에 추수할 수 있는 것으로서 설명하고 있지만, 그러기 위해서는 플래쉬메모리내에 라이트버퍼를 탑재하는 것이 바람직하다. 금후, 고속으로 라이트를 실행할 수 있는 플래쉬메모리가 실현되면, 이와 같은 라이트버퍼는 필요없게 된다. 플래쉬메모리에 라이트버퍼가 내장되어 있지 않은 경우에는 라이트버퍼를 플래쉬메모리와 데이타제어회로 사이에 설치할 수 있다. 그리고 라이트 액세스시에는 직접 플래쉬메모리에 라이트하지 않고 라이트버퍼에 라이트를 실행해서 시스템으로부터의 데이타전송 종료후에 라이트버퍼에서 플래쉬메모리로의 라이트를 실행하게 된다. 이 경우의 실시예의 구성도를 제 4 도에 도시하였다.In this embodiment, the flash memory is described as being able to harvest data from the system, but for this purpose, it is preferable to mount a light buffer in the flash memory. In the future, when a flash memory capable of writing light at high speed is realized, such a light buffer is unnecessary. If a light buffer is not built in the flash memory, the light buffer can be installed between the flash memory and the data control circuit. When the write access is performed, the write buffer is executed without writing directly to the flash memory. After the data transfer from the system is finished, the write buffer is executed from the write buffer to the flash memory. The structural diagram of the Example in this case is shown in FIG.

제 4 도중, 기출 번호는 지금까지 설명한 것과 동일한 것이다. (71)은 액세스가 리드인지 라이트인지에 따라 데이타 분배회로(61)과의 접속을 전환하는 데이타 셀렉타, (72)는 라이트데이타를 일시적으로 저장하는 CPU 버스폭과 같은 데이타 버스폭의 라이트버퍼, (73)은 데이타 셀렉터(71)을 전환하기 위한 리드 라이트 신호이고, 커맨트 레지스터(25)에 라이트된 커맨드 코드에서 생성하면 좋다. 만일 액세스가 라이트이면 데이타 분배회로(61)을 라이트버퍼(72)에 접속하고, 라이트데이타를 라이트버퍼(72)에 저장해서 시스템으로부터의 데이타전송후, 컨트롤러가 플레쉬메모리어레이(5)로의 라이트를 실행한다. 리드이면 데이타 분배회로(61)이 플레쉬메모리어레이(5)에 직접 접속되어 상술한 제 3 도의 리드액세스와 동일한 동작이 실행된다.During the fourth, the exit number is the same as described so far. Reference numeral 71 denotes a data selector for switching the connection with the data distribution circuit 61 according to whether the access is read or write, 72 denotes a light buffer having a data bus width such as a CPU bus width that temporarily stores write data; Reference numeral 73 denotes a read / write signal for switching the data selector 71, and may be generated by the command code written in the command register 25. If the access is a write, the data distribution circuit 61 is connected to the write buffer 72, the write data is stored in the write buffer 72, and after data transfer from the system, the controller writes the write to the flash memory array 5. Run If it is a read, the data distribution circuit 61 is directly connected to the flash memory array 5, and the same operation as that of the read access of FIG. 3 described above is executed.

이상의 구성으로 하는 것에 의해, 라이트버퍼를 내장하고 있지 않고 라이트가 느린 플래쉬메모리를 사용해도 시스템에서 보면 고속인 액세스가 가능한게 된다.With the above configuration, even if a flash memory having a slow light is used without a built-in light buffer, fast access is possible when viewed from the system.

다음에 화일관리의 실시예로서 제 5 도A, 제 5 도B를 예로 해서 설명한다. 지금까지는 하드웨어 구성의 실시예를 설명하였지만, 실제로 플래쉬메모리에 어떻게 저장하는가에 대해서 다음에 기술한다. 기본적으로 이 조작은 시스템의 CPU 및 시스템 프로그램과 플래쉬메모리 화일의 컨트롤러가 실행하게 되고, 소프트웨어에 의한 조작이 중심으로 된다. 제 5 도A, 제 5 도B에 의한 설명에서는 그 소프트웨어 자체의 내용이 아니고, 그 조작의 결과로서 플래쉬메모리의 각 메모리군의 단위용량 영역(1섹터분)이 총체적으로 어떻게 화일의 섹터에 할당되는지를 나타낸다. 화일의 각 섹터에 대해서 순차로 메모리군에 단위용량 영역이 확보된다. 4 이상의 연속 섹터에 대해서는 4섹터(예를 들면, 도면의 1-1~1-4)에 대해서 순차로 메모리군 1~4의 1단위용량 영역이 할당된다. 단, 실제로는 이들 각 섹터의 데이타는 4개의 단위용량 영역내로 분산해서 저장된다. 2섹터(예를 들면 도면의 1-5~1-6)에 대해서는 2개의 메모리군의 단위용량 영역이 할당된다. 이 경우도 각 섹터의 데이타는 2개의 단위용량 영역내로 분산해서 저장된다. 화일 1의 최후의 섹터(17)에는 단독의 메모리군의 단위용량 영역이 할당된다.Next, as an example of file management, description will be made with reference to FIGS. 5A and 5B. Although the embodiment of the hardware configuration has been described so far, the following describes how to actually store it in the flash memory. Basically, this operation is executed by the CPU of the system, the controller of the system program and the flash memory file, and the operation by software is the main focus. In the description of Figs. 5A and 5B, the contents of the memory capacity of each memory group of the flash memory are not allotted to the sector of the file as a result of the operation, but as a result of the operation. Indicates whether or not. A unit capacity area is secured in the memory group sequentially for each sector of the file. For four or more consecutive sectors, one unit capacity area of memory groups 1 to 4 is sequentially allocated to four sectors (for example, 1-1 to 1-4 in the figure). In practice, however, data in each of these sectors is distributed and stored in four unit capacity areas. For two sectors (for example, 1-5 to 1-6 in the figure), unit capacity areas of two memory groups are allocated. Also in this case, data of each sector is distributed and stored in two unit capacity areas. The last sector 17 of the file 1 is allocated a unit capacity area of a single memory group.

여기에서, 2섹터 및 4섹터의 분산저장 상태에 대해서 제10도 및 제11도에 의해 더욱 상세하게 설명한다. 제10도는 4바이트 동시 라이트의 예를 도시한 도면이고, 제11도는 2바이트 동시 라이트의 예를 도시한 도면이다. 상술한 바와 같이, 호스트의 시스템버스가 32비트, 1개의 메모리군의 데이타 액세스폭이 8비트로 된다.Here, the distributed storage states of two sectors and four sectors will be described in more detail with reference to FIGS. 10 and 11. FIG. 10 shows an example of 4-byte simultaneous writes, and FIG. 11 shows an example of 2-byte simultaneous writes. As described above, the host system bus is 32 bits, and the data access width of one memory group is 8 bits.

제10도에 있어서, 메모리군 a~d로의 4섹터 동시 라이트의 예를 나타낸다. 도면중, (221)은 호스트의 시스템버스로부터의 데이타를 나타내고, 32비트(4바이트)를 단위로 해서 전송되어 온다. (222)~(225)는 8비트(1바이트)단위의 데이타의 일련번호를 나타내고 있고, (222)는 1바이트째의 데이타, (223)은 2바이터째의 데이타, (224)는 3바이트째, (225)는 4바이트째의 데이타이다. 이하, 연속해서 4섹터분으로서 2048바이트째까지가 전송되어 온다. 실제로는 32비트버스이므로, 1바이트째부터 4바이트째까지가 동시에 수령되고, 이하도 마찬가지이다. (51)~(54)는 제 3 도에 도시한 데이타 일시기억을 위한 데이타래치이다.10 shows an example of four sectors simultaneous writing to the memory groups a to d. In the figure, reference numeral 221 denotes data from the system bus of the host, and is transmitted in units of 32 bits (4 bytes). Reference numerals 222 to 225 denote serial numbers of data in units of 8 bits (1 byte), 222 denotes the first byte of data, 223 denotes the second byte of data, and 224 denotes three bytes. Second, 225 is the fourth byte of data. Hereinafter, up to the 2048th byte is transmitted continuously for 4 sectors. In fact, since it is a 32-bit bus, the first to fourth bytes are simultaneously received, and the same applies to the following. Reference numerals 51 to 54 denote data latches for data temporary storage shown in FIG.

4바이트씩의 동시 라이트이므로, 32비트 데이타 즉 4바이트를 동시에 데이타래치(51)~(54)에 저장한 후, 각 바이트가 메모리군 a~d로 분산해서 1바이트씩 라이트된다. 다음의 32비트 데이타에 대해서 각 바이트가 메모리군 a~d의 후속부분에 라이트된다. 이와 같이해서 1섹터분의 512바이트째까지가 라이트되면, 계속해서 제 2 의 섹터에 대해서 마찬가지로 4바이트씩 메모리군 a~d의 후속부분에 라이트된다. 제 5 도에서는 편의상 각 섹터를 특정한 메모리군으로 할당하도록 도시하였지만, 이상 설명한 바와 같이 실제로는 각 섹터의 데이타는 특정한 메모리군에만 저장되는 것은 아니고, 메모리군 a~d로 분산해서 라이트된다. 단, 4섹터 전체의 데이타로서는 메모리군 a~d의 4섹터분의 영역에 저장되게 된다.Since simultaneous writing is performed by four bytes, 32-bit data, that is, four bytes are simultaneously stored in the data latches 51 to 54, and then each byte is divided into memory groups a to d and written one by one. Each byte is written to the subsequent part of memory groups a to d for the next 32-bit data. In this manner, when the 512-byte portion for one sector is written, the second sector is successively written to the subsequent portions of the memory groups a to d by 4 bytes in the same manner. In FIG. 5, for convenience, each sector is assigned to a specific memory group. However, as described above, data of each sector is not stored only in a specific memory group, but is distributed and written to memory groups a to d. However, data of all four sectors is stored in four sectors of the memory groups a to d.

제11도에 있어서는 메모리군 a와 메모리군 b로의 2바이트 동시 라이트의 예를 나타낸다.11 shows an example of two-byte simultaneous writes to the memory group a and the memory group b.

2바이트씩의 동시 라이트이므로, 32비트 데이타 즉 4바이트를 동시에 데이타래치(51)~(54)에 저장한 후, 이것이 2바이트씩으로 이분되어 전반의 2바이트가 우선 메모리군 a와 메모리군 b에 1바이트씩 라이트되고, 다음에 후반의 2바이트가 메모리군 a와 메모리군 b에 1바이트씩 라이트된다. 이와 같이해서 1섹터분의 512바이트째까지가 라이트되면 계속해서 제 2 의 섹터의 1바이트째부터 마찬가지로해서, 메모리군 a,b의후속부분에 라이트된다. 이 경우도 제 1 섹터가 특정한 메모리군에만 저장되는 것은 아니고, 메모리군 a,b로 분해해서 라이트되고, 마찬가지로 제 2 섹터도 제 1 섹터에 이어서 메모리군 a,b로 분산해서 라이트된다. 단일 섹터의 라이트에 대해서는 도시하지 않지만, 이 경우에는 동시에 데이타래치(51)~(54)의 각 바이트 데이타가 순차로 어느 1개의 메모리군에 저장된다. 이 경우에만 1섹터의 데이타는 분산되지 않고 특정한 메모리군내에 저장된다.Simultaneous write by two bytes, 32-bit data, that is, four bytes, are simultaneously stored in the data latches 51 to 54, and then divided into two bytes so that the first two bytes are first stored in the memory group a and the memory group b. One byte is written, and the second two bytes are written one byte into the memory group a and the memory group b. In this manner, when the data is written up to the 512 byte for one sector, the data is written to the subsequent portions of the memory groups a and b in the same manner from the first byte of the second sector. Also in this case, the first sector is not stored only in a specific memory group, but is divided and written into the memory groups a and b, and similarly, the second sector is distributed and written into the memory groups a and b following the first sector. Although writing of a single sector is not shown, in this case, each byte data of the data latches 51 to 54 are sequentially stored in any one memory group. Only in this case, one sector of data is stored in a specific memory group without being distributed.

이상에서 알 수 있는 바와 같이, 중요한 것은 이상의 동작의 결과, 플래쉬메모리 소자의 최소 소거단위(여기에서는 1섹터 용량에 상당하는 512바이트)의 영역내에는 다른 화일 데이타가 혼재하지 않는 것이다. 이것이 보증되는 것에 의해 화일 리라이트시에 다른 화일의 데이타를 소거하는 일 없이, 또한 메모리의 기억 영역을 유효하게 이용하면서 여러개의 바이트 병렬 동시 라이트에 의해 고속의 화일 데이타 저장을 달성하는 것이 가능해진다.As can be seen from the above, it is important to note that as a result of the above operation, no other file data is mixed in the area of the minimum erase unit (here, 512 bytes corresponding to one sector capacity) of the flash memory element. This guarantees that high-speed file data storage can be achieved by multiple byte-parallel simultaneous writes without effectively erasing data of other files at the time of file rewriting and also effectively using the storage area of the memory.

상술한 바와 같이, 제 5 도A는 어느 정도의 화일의 라이트가 실행된 상태, 제 5 도B는 그후 어느 화일에 대해서는 갱신되고 또한 화일용량이 증가한 상태를 나타내고 있다. 제 5 도A에서는 저장되는 화일번호순, 섹터번호순으로 다른 메모리가 할당되도록 저장된다. 관리상 낭비가 없도록 원칙적으로서 채워 빈공간이 없도록 한다.As described above, Fig. 5A shows a state in which a certain amount of files have been written, while Fig. 5B shows a state in which a file is updated later and the file capacity has increased. In FIG. 5A, different memories are allocated in order of file numbers and sector numbers. In principle, there should be no empty space so as not to waste management.

제 5 도B에 도시한 바와 같이, 메모리군에 빈공간이 생기지 않도록 화일의 섹터를 순차, 연속적으로 채워 저장하는 것으로 하면, 화일갱신에 의해 화일 용량이 증대한 경우에는 제 5 도A에 도시한 바와 같이 물리적인 저장위치로서는 연속적으로 저장할 수 없는 경우가 발생한다. 이와 같은 경우라도 메모리군의 순번으로서는 연속적으로 되도록 저장한다. 즉, 화일번호 4번의 화일을 예로 하면, 제 5 도A에서는 4-1~4-5까지의 5섹터가 저장되어 있지만, 제 5 도B에서 2섹터 추가되면, 4-1이 메모리군 3에서 개시되고 있으므로, 4-6, 4-7의 증가분은 메모리군 2,3의 영역이 확보되게 된다. 섹터수가 증가한 화일의 라이트시에는 4-5와 4-6은 2섹터 연속섹터로서 취급되고, 4-7은 단독 섹터로서 취급되게 된다. 즉, 추가 섹터에 대해서도 이미 저장된 섹터와 함께 연속 섹터로서의 취급을 받게 된다. 이들 화일관리의 저장과 리드를 원할하게 실행하기 위해 하드웨어 구성으로서 시스템으로부터의 액세스 섹터의 지정은 개시 섹터와 섹터수로 하고, 물리적인 저장위치의 파악은 화일 시스템 내부에서 실행해도 좋다. 이때는 제 2 도에 도시한 엔드 섹터 레지스터(24)는 불필요하다. 그리고 화일의 연쇄를 나타내는 정보를 메모리의 데이타 이외의 정보를 저장하는 용장영역이 있으면 그곳에, 없으면 다른 기억수단에 저장하는 것에 의해 화일의 개시번호가 지정되면 그것에 이어지는 섹터번호의 물리적인 위치가 모두 연쇄적으로 명확하게 되므로, 연속 액세스가 가능하게 된다.As shown in FIG. 5B, when the sectors of a file are sequentially filled and stored so that no space is created in the memory group, when the file capacity is increased due to file updating, it is shown in FIG. As described above, there are cases where the physical storage location cannot be stored continuously. Even in such a case, the memory groups are stored so as to be contiguous. That is, if file number 4 is taken as an example, 5 sectors of 4-1 to 4-5 are stored in FIG. 5A, but if 2 sectors are added in FIG. 5B, 4-1 is stored in memory group 3. Since it is disclosed, the increments of 4-6 and 4-7 ensure the areas of the memory groups 2 and 3. When writing a file with an increased number of sectors, 4-5 and 4-6 are treated as two sector consecutive sectors, and 4-7 is treated as a single sector. In other words, the additional sector is also treated as a continuous sector together with the already stored sector. In order to facilitate the storage and reading of these file managements, the designation of access sectors from the system as the hardware configuration may be the starting sector and the number of sectors, and the physical storage location may be determined inside the file system. At this time, the end sector register 24 shown in FIG. 2 is unnecessary. If there is a redundant area for storing information other than the data in the memory, if there is a redundant area for storing information other than the data in the memory, and if there is a start number of the file, the physical position of the sector number subsequent to the file is concatenated. As it becomes clear in general, continuous access is possible.

제 6 도에는 연쇄정보의 예를 도시하고 있다. 도면중, (85)는 저장되어 있는 화일저장 테이타이고, 화일번호 4, 섹터번호 5의 데이타이다. (86)은 그것에 이어지는 화일번호 4, 섹터번호 6의 데이타이다. 그리고, (87)은 또 그것에 이어지는 화일번호 4, 섹터번호 7의 데이타이다. 단, 이들 데이타는 섹터번호를 순번으로 하고 있지만, 실제의 저장상태로서는 혼합되어 있는 경우가 있다. 즉, 연속 섹터 액세스에 의해 여러개의 칩을 동시에 액세스하는 것에 의해 데이타를 스크램블해서 저장하고 있는 경우가 있다. 단, 이때에도 바이트마다 데이타를 저장하는 순번을 붙이는 것이 필요하므로, 섹터번호는 매우 중요하다. (88)은 화일저장테이타(85)가 저장되어 있는 메모리상의 물리적인위치를 나타내는 물리 어드레스이고, 좌측의 수자 "3"은 메모리군번호, 우측의 수자 "5"는 그 메모리군중의 어드레스이다. (89),(90)은 마찬가지로 화일저장데이타(86), 화일저장데이타(87)의 물리 어드레스이다. (91)은 화일저장데이타(85)의 다음의 섹터가 저장되어 있는 물리 어드레스를 나타내는 연쇄정보이고, 화일저장데이타(85)가 화일번호 4, 섹터번호 5의 데이타이므로, 연쇄정보(91)은 화일번호 4, 섹터번호 6의 데이타가 저장되어 있는 물리 어드레스를 나타내게 된다. 좌측의 수자가 메모리군번호, 우측이 메모리군중의 어드레스이다. 마찬가지로 해서 연쇄정보(92)는 화일번호 4, 섹터번호 7의 데이타가 저장되어 있는 물리 어드레스를 나타내고 있고, 연쇄정보(93)은 다음의 섹터가 존재하지 않고 이 경우를 나타내고 있다. 즉, 화일번호 4의 화일은 7섹터에서 종료하는 것을 알 수 있다.6 shows an example of chain information. In the figure, reference numeral 85 denotes a file storing data which is stored, and data of file number 4 and sector number 5. Reference numeral 86 is data of a file number 4 and a sector number 6 subsequent to it. Reference numeral 87 denotes data of the file number 4 and the sector number 7 following it. However, these data have sector numbers in order, but they may be mixed in the actual storage state. That is, data may be scrambled and stored by accessing several chips simultaneously by continuous sector access. However, even in this case, it is necessary to attach the order of storing data for each byte, so the sector number is very important. Numeral 88 denotes a physical address indicating a physical position on the memory where the file storage data 85 is stored, the number "3" on the left is a memory group number, and the number "5" on the right is an address in the memory group. Reference numerals 89 and 90 are similarly the physical addresses of the file storage data 86 and the file storage data 87. Reference numeral 91 denotes chain information indicating a physical address where the next sector of the file storage data 85 is stored. Since the file storage data 85 is data of the file number 4 and the sector number 5, the chain information 91 The physical address where the data of the file number 4 and the sector number 6 is stored is shown. The numbers on the left are the memory group numbers, and the numbers on the right are the addresses in the memory group. Similarly, the concatenation information 92 indicates a physical address where data of the file number 4 and the sector number 7 are stored, and the concatenation information 93 indicates this case without the next sector. That is, it can be seen that the file of file number 4 ends in seven sectors.

이 연쇄정보가 화일데이타에 첨부되어 있으면, 시스템의 CPU는 화일저장의 물리적인 위치를 파악할 필요는 없고 단지 화일 자체를 액세스하는 형식을 취할 수 있다. 그리고 화일제어의 컨트롤러가 연쇄정보를 참조하면서 메모리의 물리적인 액세스를 실행하는 것에 의해 1개의 화일이면서 물리적인 저장위치가 연속해 있지 않고 분산해 있는 화일이라도 연속적인 액세스가 가능해진다. 그때, 다른 메모리군의 동시 액세스를 위해 다른 어드레스를 입력하는 구성이 필요하다. 단, 제 9 도에서 상술한 바와 같이, 1섹터 액세스분의 하위 어드레스는 공용할 수 있고, 그것 이상의 상위 어드레스에 관한것만으로 충분하다. 이상, 연쇄정보를 사용하는 실시예에 의하면 시스템으로부터의 액세스 지정을 간략화할 수 있고, 적은 정보량으로 실시 가능하다.If this chaining information is attached to the file data, the system's CPU does not need to know the physical location of the file store, but can simply take the form of accessing the file itself. By performing the physical access of the memory while the file control controller refers to the chain information, the continuous access is possible even for a single file and a file in which the physical storage locations are not contiguous but distributed. At that time, a configuration for inputting different addresses for simultaneous access of different memory groups is necessary. However, as described above in FIG. 9, the lower address for one sector access can be shared, and only the upper address of the sector or more is sufficient. As described above, according to the embodiment using the chain information, the access designation from the system can be simplified and can be implemented with a small amount of information.

다음에 메모리소자 자체에 각종 기능을 조립하는 실시예에 대해서 설명한다.Next, an embodiment in which various functions are incorporated into the memory element itself will be described.

제 7 도는 메모리 어레이의 여러개의 메모리칩을 1개의 패키지에 수납하고, 그것에 부가회로를 마련한 메모리소자의 구성도이다. 도면중, (101)은 메모리소자, (102)~(105)는 동일한 기능을 갖고 있는 메모리칩, (106)~(109)는 메모리패키지(101)의 입출력 데아타단자로서, 각각 하나에 1개의 메모리칩의 데이타 입출력이 가능하다. 예를 들어 메모리칩(102)가 8비트의 데이타 입출력이면(106)~(109)까지 전부 8비트×4=32비트의 데이타 입출력단자를 갖게 된다. (110)은 이들의 메모리칩과 입출력단자를 접속하는 경로를 지정하는 신호입력단자, (111)은 지정신호, (112)는 집속경로 설정회로이다. 본 메모리소자(101)의 사용자는 데이타 입출력단자(106)~(109)의 설정을 신호입력단자(110)에 의해 실행하고 나서 액세스를 실행한다. 이 설정에는 상술한 제12도, 제13도, 제14도와 같은 접속경로에서 선택하는 것이 1예로서 고려된다. 메모리소자(101)에서는 설정된 데이타접속을 지정신호(111)로서 접속경로 설정회로(112)로 보내고, 접속경로 설정회로(112)에서는 설정에 따라서 메모리칩(102)~(105)를 데이타 입출력단자(106)~(109)에 접속하고, 바라는 데아타 버스에 메모리칩의 데이타를 접속하는 것을 실현한다.7 is a configuration diagram of a memory device in which several memory chips of a memory array are housed in one package and additional circuits are provided therein. In the figure, reference numeral 101 denotes a memory element, 102-105 are memory chips having the same function, and 106-109 are input / output data terminals of the memory package 101, each one being one. Data input / output of two memory chips is possible. For example, if the memory chip 102 has 8 bits of data input / output, all of the bits 106 through 109 have data bits of 8 bits x 4 = 32 bits. Reference numeral 110 denotes a signal input terminal for specifying a path for connecting these memory chips and input / output terminals, 111 denotes a designated signal, and 112 denotes a focus path setting circuit. The user of this memory element 101 executes the setting of the data input / output terminals 106 to 109 by the signal input terminal 110 and then accesses it. In this setting, the selection in connection paths as shown in Figs. 12, 13, and 14 described above is considered as an example. The memory device 101 sends the set data connection to the connection path setting circuit 112 as the designation signal 111, and the connection path setting circuit 112 transfers the memory chips 102 to 105 according to the setting. (106) to (109), and the data of the memory chip is connected to the desired data bus.

제 8 도는 사용자로부터의 데이타접속의 설정을 커맨드 입력에 실행하는 메모리소자의 구성예이다. 도면중, (113)은 커맨드 설정값의 레지스터와 그 설정값에서 지정신호(111)을 만드는 커맨드 제어회로이다. (114)는 데이타 입출력단자의 일부를 사용해서 사용자가 커맨드 설정값을 설정하는 데이타선이다. 그 이외에는 제 7 도의 동일번호와 동일한 것이다.8 shows an example of the configuration of a memory element which executes setting of a data connection from a user for command input. In the figure, reference numeral 113 denotes a command control circuit which makes a designation signal 111 from a register of a command setting value and the setting value. Reference numeral 114 denotes a data line in which a user sets a command setting value by using a part of the data input / output terminal. Other than that is the same as that of FIG.

사용자는 데이타의 접속경로를 제12도, 제13도, 제14도를 1예로서 선택하고, 커맨드코드로서 커맨드 제어회로(113)에 데이타 버스의 일부(114)에서 설정하고, 커맨드 제어회로(113)에서는 설정된 커맨드코드에서 접속경로 설정회로(112)에 해당하는 지정신호(111)을 보낸다. 이하는 제 7 도의 설명과 동일한다 제 7 도, 제 8 도에 의한 본 실시예에 의하면, 메모리소자로서 지금까지 설명한 다른 실시예를 실현한 수 있고, 주변회로의 삭감을 도모할 수 있는 효과가 있다. 또, 본 실시예에서는 메모리 패키지내에 여러개의 칩과 제어회로를 탑재하는 것으로 하고 있지만, 이들을 1개의 칩으로 모으는 것에 의해 소형화와 고속화를 도모할 수 있다.The user selects the connection paths of the data as Fig. 12, 13, and 14 as an example, sets the command control circuit 113 as part of the data bus 114 as a command code, and sets the command control circuit ( In 113, a designated signal 111 corresponding to the connection path setting circuit 112 is sent from the set command code. The following is the same as the description of FIG. 7. According to this embodiment of FIG. 7 and FIG. 8, another embodiment described so far can be realized as a memory element, and the effect of reducing peripheral circuits can be achieved. have. In the present embodiment, a plurality of chips and control circuits are mounted in the memory package. However, by gathering them into one chip, the size and speed can be increased.

Claims (18)

최소 소거단위가 화일기억장치의 데이타 버스폭보다 크고, 데이타 액세스폭이 화일기억장치의 데이타 버스폭보다 작은 기억소자군을 병렬로 사용한 화일기억장치로서, 1개 이상의 최소 기억단위로 이루어지는 화일데이타를 임의의 최소 기억단위의 조합으로 이루어지는 조합요소로 분할하는 화일분할수단, 데이타 버스상의 데이타를 데이타 액세스폭을 단위로 해서 임의로 조합하고, 데이타 액세스폭을 단위로 한 같은 단위의 기억소자군의 임의의 조합에 대응시키는 데이타 분배수단, 상기 조합요소의 각각을 화일기억장치에 저장할때 기억소자군의 상기 임의의 조합중의 어느것인가 1조에 대응시크도록 데이타 분배수단을 제어하는 제어수단을 구비한 화일기억장치.A file storage device that uses a group of storage elements in which the minimum erase unit is larger than the data bus width of the file storage device and the data access width is smaller than the data bus width of the file memory device. File division means for dividing into a combination element consisting of a combination of arbitrary minimum storage units; arbitrarily combining data on a data bus in units of a data access width, and arranging a group of storage elements in the same unit in units of a data access width. File storage means having data distribution means corresponding to the combination, and control means for controlling the data distribution means so as to correspond to any one of said arbitrary combinations of the memory element group when storing each of the combination elements in the file storage device. Device. 최소 소거단위가 화일기억장치의 데이타 버스폭보다 크고, 데이타 액세스폭이 화일기억장치의 데이타버스폭보다 작은 기억소자군을 병렬로 사용해서 데이타 버스를 거쳐서 화일데이타를 저장하는 화일저장방법으로서, 1개 이상의 최소 기억단위로 이루어지는 화일데이타를 임의의 최소 기억단위의 조합으로 이루어지는 조합요소로 분할하는 스텝, 상기 조합요소로 각각을 화일기억장치에 저장할때, 데이타 버스상의 데이타를데이타 액세스을 단위로 해서 임의로 조합하고, 데이타 액세스폭을 단위로 한 같은 단위수의 기억소자군의임의의 조합에 대응시키는 스텝 및 상기 조합요소의 각각을 기억소자군의 상기 임의의 조합중에 어느것인가1조에 대응시키는 스텝을 갖는 화일저장방법.A file storage method for storing file data over a data bus using a group of memory elements having a minimum erase unit larger than the data bus width of the file memory and having a data access width smaller than the data bus width of the file memory, in parallel. Dividing the file data consisting of two or more minimum memory units into combination elements consisting of a combination of arbitrary minimum storage units, and storing the data on the data bus in units of data access when storing each of the combination elements in the file storage unit. Combining, and corresponding to any combination of storage element groups of the same number of units with data access widths, and mapping each of the combination elements to any one of the above arbitrary combinations of storage element groups. How to save a file. 최소 소거단위가 화일기억장치의 데이타 버스폭보다 크고, 데이타 액세스폭이 화일기억장치의 데이타 버스폭보다 작은 기억소자군을 병렬로 사용해서 데이타 버스를 거쳐서 화일데이타를 리드 라이트하는 화일기억장치로서, 1개 이상의 최소 기억단위로 이루어지는 화일데이타를 임의의 최소 기억단위의 조합으로 이루어지는 조합요소로 분할하는 화일분할수단, 데이타 버스상의 데이타를 데이타 액세스폭을 단위로 하는 데이타의 임의의 조합으로 분할하는 데이타 분할수단, 기억소자군을 데이타 분할수단의 분할수에 맞춰 분할하는 기억소자 분할수단, 분할된 화일데이타의 각 조합요소를 화일기억장치에 저장할때, 데이타분할수단이 분할한 분할데이타의 각각을 기억소자 분할수단이 분할한 기억소자군중 어느것인가 1조에 대응시키고, 상기 조합요소의 각각의 내용을 기억소자군의 임의의 조합중의 어느것인가 1조에 저장하도록 제어하는 제어수단을 구비한 화일기억장치.A file storage device that reads file data through a data bus using a group of memory elements having a minimum erase unit larger than the data bus width of the file storage device and having a data access width smaller than the data bus width of the file storage device in parallel. File dividing means for dividing file data of at least one minimum storage unit into combination elements consisting of a combination of arbitrary minimum storage units; data for dividing data on a data bus into any combination of data in units of data access width; When the storage means for dividing the partition means, the memory element group according to the number of divisions of the data partition means, and each combination element of the divided file data are stored in the file storage device, each of the divided data divided by the data partition means is stored. The element dividing means corresponds to one set of the divided memory element groups, and A file storage device with a control unit that controls to storage tank 1 of any one of any combination of the memory element group for each of the content of the element. 제 3 항에 있어서, 기억소자군중의 어느것인가를 특정하는 기억소자군정보와 각 기억소자군내에 특정한 최소 소거단위를 지정하는 어드레스정보로 이루어지는 물리 어드레스를 화일을 특정하는 화일특정정보와 화일내의 최소 기억단위를 특정하는 최소 기억단위 특정정보로 이루어지는 화일저장정보 및 동일 화일내의 다른 최소 기억단위의 물리 어드레스인 연쇄정보에 대응시킨 화일제어정보를 기억소자군 또는 다른 기억장치 내에 기억하는 화일기억장치.4. The file specification information for specifying a file and the minimum in the file according to claim 3, wherein the physical address comprises a memory element group specifying any of the memory element groups and address information specifying a specific minimum erasing unit in each memory element group. A file storage device for storing file storage information consisting of minimum storage unit specifying information for specifying a storage unit and file control information corresponding to chain information which is a physical address of another minimum storage unit in the same file in a storage element group or another storage device. 제 3 항에 있어서, 화일분할수단의 분할내용, 데이타 분할수단의 분할내용, 기억소자군의 분할내용 및 제어수단의 제어내용을 화일마다의 화일제어정보로 해서 기억소자군내 또는 다른 기억장치수단내에 기억하는 화일기억장치.4. The storage device group or other storage device means according to claim 3, wherein the division contents of the file division means, the division contents of the data division means, the division contents of the memory element group, and the control contents of the control means are file control information for each file. File memory to remember. 최소 소거단위가 화일기억장치의 데이타 버스폭보다 크고, 데이타 액세스폭이 화일기억장치의 데이타 버스폭보다 작은 기억소자군을 병렬로 사용해서 데이타 버스를 거쳐서 화일데이타를 리드 라이트하는 화일기억장치로서, 1개 이상의 최소 기억단위로 이루어지는 화일데이타를 임의의 최소 기억단위의 조합으로 이루어지는 조합요소로 분할하는 화일분할수단, 데이타 버스상의 데이타를 데이타 액세스폭을 단위로 하는 데이타의 임의의 조합으로 분할하는 데이타 분할수단, 기억소자군을 데이타 분할수단에 분할수에 맞춰 분할하는 기억소자 분할수단, 분할된 화일데이타의 각 조합요소를 화일기억장치에 저장할때, 데이타 분할수단이 분할한 분할데이타의 각각을 기억소자 분할수단이 분할한 기억소자군중 어느것인가 1조에 대응시키고, 상기 조합요소의 각각의 내용을 기억소자군의 임의의 조합중의 어느것인가 1조에 저정하도록 제어하는 제어수단, 화일분할수단읠 분할내용, 데이타 분할수단의 분할내용, 기억소자 분할수단의 분할내용 및 제어수단의 제어내용을 화일마다의 화일제어정보로 해서 기억소자군내 또는 다른 기억장치수단내에 기억하는 기억제어수단 및 기억된 화일저장정보에 따라서 화일정보를 리드하는 기드수단을 구비한 화일기억장치.A file storage device that reads file data through a data bus using a group of memory elements having a minimum erase unit larger than the data bus width of the file storage device and having a data access width smaller than the data bus width of the file storage device in parallel. File dividing means for dividing file data of at least one minimum storage unit into combination elements consisting of a combination of arbitrary minimum storage units; data for dividing data on a data bus into any combination of data in units of data access width; The storage means for dividing the partition means, the memory element group into the data partition means in accordance with the number of divisions, and when storing each combination element of the divided file data in the file storage device, each of the divided data divided by the data partition means is stored. The element dividing means corresponds to one set of the divided memory element groups, and Control means for controlling the contents of each sum element to be stored in a set of any combination of storage element groups, file division means, contents of division, contents of division of data division means, contents of division of memory element division means, and control And a storage control means for storing the control contents of the means as file control information for each file in the storage element group or other storage means, and a gid means for reading the file information in accordance with the stored file storage information. 최소 소거단위가 X비트보다 크고, 데이타 액세스폭이 Y비트(Y=X/P : P는 2 이상의 정수)인 기억소자군을 병렬로 사용해서 X비트의 데이타 버스를 거쳐서 화일데이타를 리드 라이트하는 화일기억장치로서, 1개 이상의 최소 기억단위로 이루어지는 화일을 1에서 P까지의 임의의 최소 기억단위의 조합으로 분할하는 화일분할수단, 화일분할수단에 의해 분할된 화일의 각 조합요소를 화일기억장치에 저장할때, 데이타 버스상의 X비트의 데이타를 Y비트를 단위로 하는 Q개(Q=X/Y, Q=1일 때는 분할하지 않는다)로 분할하는 데이타 분할수단, 기억소자군을 Q개로 분할하는 기억소자 분할수단, Q개로 분할된 분할데이타의 각각을 기억소자 분할수단이 분할한 어느것인가 1조에 대응시키고, 최소 기억단위의 임의의 조합요소의 내용이 같은 기억소자군에 대응되도록 제어해서 기억소자에 저장하는 제어수단, 화일분할수단의 분할내용, 데이타 분할수단의 분할내용, 기억소자군의 분할내용 및 제어수단의 제어내용을 화일마다 기억하는 기억수단 및 기억수단에 저장된 저장정보에 따라서 화일정보를 리드하는 리드수단을 구비하는 화일기억장치.Using a group of memory elements with a minimum erase unit greater than X bits and a data access width of Y bits (Y = X / P: P is an integer greater than or equal to 2) in parallel, the file data is read-written through an X-bit data bus. A file storage device comprising: file dividing means for dividing a file composed of one or more minimum memory units into a combination of any minimum storage units from 1 to P, and each combination element of a file divided by the file dividing means. Data storage means for dividing the X-bit data on the data bus into Q pieces of Y-bit units (Q = X / Y, and not dividing when Q = 1). Each of the memory element dividing means and the divided data into Q correspond to one set of which the memory element dividing means divides, and controls the contents of any combination element of the minimum memory unit to correspond to the same memory element group. In the storage means stored in the storage element, the division contents of the file division means, the division contents of the data division means, the division contents of the memory element group, and the control contents of the control means for each file. Hence, a file storage device having lead means for reading file information. 화일의 데이타를 X비트의 데이타 버스를 거쳐서 저장하고, 최소 소거단위가 X비트보다 크고 데이타 액세스폭이 Y비트(Y=X/P : P는 2 이상의 정수)인 플래쉬메모리 소자를 사용하고, 각각 동시에 액세스 가능한 P조는 플래쉬메모리 소자군으로 구성한 플래쉬메모리장치, X비트의 데이타 버스상의 데이타를 적어도 P분할하는 분할수단, 적어도 상기 분할에 의해 얻어진 P개의 Y비트 데이타를 플래쉬메모리 소자군의 1조에 대응시키는 제 1 의 기능과 P개의 Y비트 데이타를 각각 플래쉬메모리 소자군의 별개의 조에 대응시키는 제 2 의 기능을 갖는 데이타 분배수단, 액세스 대상 화일의 화일관리의 기억용량 단위의 수에 따라서 제 1 및 제 2 의 기능을 전환하도록 데이타 분배수단을 제어하는 제어수단을 구비한 플래쉬메모리 화일기억장치.Store data in files via an X-bit data bus, and use a flash memory device with a minimum erase unit greater than X bits and a data access width of Y bits (Y = X / P: P is an integer greater than or equal to 2). The P group which can be accessed simultaneously corresponds to a flash memory device comprising a flash memory element group, dividing means for dividing at least P data on an X-bit data bus, and at least P Y-bit data obtained by the dividing corresponding to one set of flash memory element groups. A data distributing means having a first function of making a first function and a second function of making each of the P pieces of Y-bit data correspond to a separate group of flash memory element groups; A flash memory file storage device having control means for controlling the data distribution means to switch the second function. 제 8 항에 있어서, 상기 제어수단은 상기 플래쉬메모리 소자의 최소 소거단위의 메모리 영역내에 다른 화일의 데이타가 혼재하지 않도록 상기 데이타 분배수단을 제어하는 플래쉬메모리 화일기억장치.9. The flash memory file storage device according to claim 8, wherein said control means controls said data distribution means so that data of another file does not mix in a memory area of a minimum erase unit of said flash memory element. 제 8 항에 있어서, 상기 제어수단은 상기 화일의 인속하는 P개의 기억용량단위의 데이타에 대해서 상기 제 2의 기능을 선택하고, 1개의 기억용량단위의 데이타에 대해서 상기 제1의 기능을 선택하도록 상기데이타 분배수간을 제어하는 플래쉬메모리 화일기억장치.9. The apparatus according to claim 8, wherein said control means selects said second function for data in P storage capacity units belonging to said file, and selects said first function for data in one storage capacity unit. Flash memory file storage device for controlling the number of data distribution. 제 8 항에 있어서, 상기 기억용량단위와 상기 플래쉬메모리 소자의 소거단위가 같은 플래쉬메모리 화일기억장치.9. The flash memory file storage device according to claim 8, wherein the memory capacity unit and the erase unit of the flash memory element are the same. 프로그램 및 데이타를 처리하는 중앙연산 처리수단, 상기 중앙연산 처리수단을 구동하는 클럭발진수단, 플래쉬메모리를 기억매체로 한 화일기억수단, 상기 화일기억수단의 플레쉬메모리의 액세스를 제어하는 화일기억수단, 상기 클럭발진수단이 발생하는 클럭신호와 동일한 신호 또는 동기하는 신호를 상기 화일기억 제어수단에 입력하고, 상기 중앙연산처리수단과 상기 화일기억 제어수단이 동기동작을 실행하여 화일 데이타를 수수하는 플래쉬메모리 화일기억장치를 탑재하는 정보처리장치.A central processing unit for processing programs and data, a clock oscillating unit for driving the central processing unit, a file storage unit using a flash memory as a storage medium, a file storage unit for controlling access to a flash memory of the file storage unit, A flash memory which inputs the same signal as the clock signal generated by the clock oscillation means or a synchronous signal to the file memory control means, and wherein the central processing means and the file memory control means perform synchronization operations to receive file data; An information processing device equipped with a file storage device. 제12항에 있어서, 상기 화일기억 제어수단은 상기 중앙연산 처리수단과 상기 화일기억수단의 1회의 데이타 액세스폭이 다른 경우, 화일 데이타의 처리중인지 처리종료인지를 나타내는 상태제시신호를 출력하는 수단을 구비하고, 상기 중앙연산 처리수단은 상기 상태제시신호를 받고, 이것이 처리중인 것을 나타내고 있으면, 처리종료까지의 기간, 처리의 진행을 정지하는 수단을 갖고, 상기 화일기억 제어수단은 상기 화일기억수단이 취급하는 데이타 비트수를 상기 중앙연산 처리장치의 처리데이타 비트폭에 맞추는 데이타 비트폭 제어수단을 갖고, 상기 데이타 비트폭 제어수단은 데이타 비트폭을 일치시키기 위해 필요로 하는 기간, 상기 상태제시신호에 의해 처리중인 것을 상기 중앙연산 처리수단에 표시해서 대기시키고, 쌍방의 처리데이타폭을 일치시켜 데이타의수수를 실행하는 정보처리장치.The data storage control means according to claim 12, wherein the file storage control means outputs a status indication signal indicating whether the file data is being processed or is finished when the central processing means and the file storage means have different data access widths. And the central computation processing means receives the status indication signal and indicates that this is being processed, has a period until the end of the processing and means for stopping the progress of the processing. The file storage control means includes: And a data bit width control means for matching the number of data bits to be handled to the processing data bit width of the central processing unit, wherein the data bit width control means is provided for the period required to match the data bit width, and the state presentation signal. Display the central processing unit and wait for the processing data to be processed. Value by the information processing apparatus for executing a transfer of data. 제13항에 있어서, 상기 화일기억제어수단은, 상기 중앙연산 처리수단의 데이타 액세스폭과 같은 비트수의 데이타를 생성하시 위해 필요한 수의 플래쉬메모리군에 의해 상기 화일기억수단을 구성하고, 각각의 메모리군에 연속적인 순서를 규정하는 수단, 여러개의 기억용량 단위수에 이르는 화일에 대해서는 이 규정된 메모리군의 순서에 따라서 저장하는 수단 및 일단 저장된 화일을 갱신하는 것에 의해 기억용량 단위수가 증가하는 경우에는 상기 증가분에 대해서 전회에 저장했을때 화일의 최후의 데이타가 저장되어 있던 메모리군의 다음 순서에 규정되어 있는 메모리군에서 증가기억용량 단위분의 기억영역을 확보하는 수단을 구비한 정보처리장치.14. The file storage control unit according to claim 13, wherein the file storage control unit constitutes the file storage unit by the number of flash memory groups necessary for generating data having the same number of bits as the data access width of the central processing unit. Means for defining a continuous order in the memory group, for files reaching a number of storage capacity units, the means for storing in accordance with the order of the prescribed memory group, and the number of storage capacity units being increased by updating a stored file once. And a means for securing a storage area for an incremental storage capacity unit in a memory group defined in the next order of the memory group in which the last data of the file was stored when the last time was stored for the increment. 중앙처리장치, 기억매체로서 여러개의 플래쉬메모리 소자를 사용한 화일기억장치를 구비한 정보처리장치로서, 상기 화일기억장치의 상기 플래쉬메모리의 데이타의 최소 소거단위를 화일관리의 기억용량 단위와 같게 하고, 또한 상기 중앙처리장치가 화일 액세스를 요구할 때의 기억용량 단위수가 여러개은 경우는 상기 여러개의 플래쉬메모리 소자를 동시에 액세스하고, 기억용량 단위수가 1인 경우에는 상기 여러개의 플래쉬메모리 소자의 1개를 액세스하는 정보처리장치.An information processing device comprising a central processing unit and a file storage device using a plurality of flash memory elements as a storage medium, wherein the minimum erasure unit of data in the flash memory of the file storage device is the same as the storage capacity unit of file management; When the central processing unit requests file access, if the number of storage capacity units is multiple, the plurality of flash memory devices are accessed simultaneously. If the number of storage capacity units is 1, one of the flash memory devices is accessed. Information processing device. 플래쉬메모리를 기억매체로 하고, 기억하는 어느 1개의 화일의 기억용량이 여러개의 기억용량 단위에 이르는 경우에는 각 기억용량 단위마다 다음에 이어지는 기억용량 단위가 저장되어 있는 물리적인 위치의 정보를 기억하는 연쇄정보 기억수단을 구비한 플래쉬메모리 화일기억장치.When the flash memory is used as a storage medium, and the storage capacity of one file to be stored reaches several storage units, each storage unit stores information on the physical location where the next storage unit is stored. A flash memory file storage device having chain information storage means. 1개의 패키지에 여러개의 메모리칩이 조립되어 있고, 상기 패키지가 전체 메모리칩의 데이타 입출력수의 총계에 상당하는 수의 입출력 데이타단자, 상기 데이타 제어수단에 대한 메모리 사용자로부터의 지시를 위한 제어신호단자, 상기 제어신호단자의 지시에 의해 상기 여러개의 임의의 메모리칩의 입출력 데이타를 전환하고, 상기 입출력 데이타단자의 임의의 단자에 접속하는 데이타 제어수단을 구비한 메모리소자.Several memory chips are assembled in one package, and the package has a number of input / output data terminals corresponding to the total number of data input / output of the entire memory chip, and a control signal terminal for instructing the data control means from the memory user. And data control means for switching input / output data of the plurality of arbitrary memory chips in accordance with an instruction of the control signal terminal, and connecting to any terminal of the input / output data terminal. 1개의 패키지에 여러개의 메모리칩이 조립되어 있고, 상기 패키지가 전체 메모리칩에 데이타 입출력수의 총계에 상당하는 수의 입출력 데이타단자, 상기 데이타 제어수단에 대한 메모리 사용자로부터의 지시를 위한 제어커맨드 설정수단, 상기 제어커맨드 설정수단의 지시에 의해 상기 여러개의 임의의 메모리칩의 입출력 데이타를 전환하고, 상기 입출력 데이타단자의 임의의 단자에 접속하는 데이타 제어수단을 구비한 메모리소자.A plurality of memory chips are assembled in one package, and the package has a number of input / output data terminals corresponding to the total number of data input / outputs in the entire memory chip, and control commands for instructing the data control means from the memory user. Means and a data control means for switching input / output data of the plurality of arbitrary memory chips by an instruction of said control command setting means, and connecting to any terminal of said input / output data terminal.
KR1019940004411A 1993-03-11 1994-03-08 File storaging apparatus and information processing apparatus using the same KR960016397B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP93-051041 1993-03-11
JP5051041A JPH06266596A (en) 1993-03-11 1993-03-11 Flash memory file storage device and information processor

Publications (2)

Publication Number Publication Date
KR940022272A KR940022272A (en) 1994-10-20
KR960016397B1 true KR960016397B1 (en) 1996-12-11

Family

ID=12875722

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940004411A KR960016397B1 (en) 1993-03-11 1994-03-08 File storaging apparatus and information processing apparatus using the same

Country Status (3)

Country Link
US (4) US6272610B1 (en)
JP (1) JPH06266596A (en)
KR (1) KR960016397B1 (en)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757800B1 (en) * 1995-07-31 2004-06-29 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6978342B1 (en) 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US6081878A (en) * 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
GB9606928D0 (en) * 1996-04-02 1996-06-05 Memory Corp Plc Memory devices
US6523105B1 (en) * 1997-04-16 2003-02-18 Sony Corporation Recording medium control device and method
JP3718578B2 (en) * 1997-06-25 2005-11-24 ソニー株式会社 Memory management method and memory management device
KR100544175B1 (en) * 1999-05-08 2006-01-23 삼성전자주식회사 Recording medium storing linking type information and method for processing defective area
US6708257B2 (en) * 1999-07-12 2004-03-16 Koninklijke Philips Electronics N.V. Buffering system bus for external-memory access
US7671295B2 (en) 2000-01-10 2010-03-02 Electro Scientific Industries, Inc. Processing a memory link with a set of at least two laser pulses
WO2002001375A1 (en) * 2000-06-27 2002-01-03 Koninklijke Philips Electronics N.V. Integrated circuit with flash
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
JP4609680B2 (en) * 2000-08-09 2011-01-12 ソニー株式会社 Data storage device
JP4722305B2 (en) * 2001-02-27 2011-07-13 富士通セミコンダクター株式会社 Memory system
TW539946B (en) * 2001-08-07 2003-07-01 Solid State System Company Ltd Window-based flash memory storage system, and the management method and the access method thereof
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123421D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Power management system
US20040049627A1 (en) * 2001-11-09 2004-03-11 Flex-P Industries Method and system for controlling compact flash memory
US7194563B2 (en) * 2001-12-05 2007-03-20 Scientific-Atlanta, Inc. Disk driver cluster management of time shift buffer with file allocation table structure
US7962011B2 (en) 2001-12-06 2011-06-14 Plourde Jr Harold J Controlling substantially constant buffer capacity for personal video recording with consistent user interface of available disk space
KR100445915B1 (en) * 2002-01-22 2004-08-25 한국전자통신연구원 Apparatus for controlling memory system
US7454603B2 (en) * 2002-02-11 2008-11-18 Intel Corporation Method and system for linking firmware modules in a pre-memory execution environment
US7231643B1 (en) 2002-02-22 2007-06-12 Lexar Media, Inc. Image rescue system including direct communication between an application program and a device driver
US20030204675A1 (en) * 2002-04-29 2003-10-30 Dover Lance W. Method and system to retrieve information from a storage device
US8181205B2 (en) 2002-09-24 2012-05-15 Russ Samuel H PVR channel and PVR IPG information
US7515598B2 (en) * 2002-10-29 2009-04-07 Intel Corporation Configurable transmit and receive system interfaces for a network device
EP1605694A4 (en) * 2003-03-12 2010-06-09 Panasonic Corp Camera recorder and data recording medium
US20050286855A1 (en) * 2003-04-25 2005-12-29 Matsushita Electric Industrial Co., Ltd. Data recording apparatus
US6906961B2 (en) * 2003-06-24 2005-06-14 Micron Technology, Inc. Erase block data splitting
KR100560761B1 (en) * 2003-07-08 2006-03-13 삼성전자주식회사 Interface conversion system and interface conversion method
EP1688866A4 (en) * 2003-11-28 2009-03-25 Panasonic Corp Recording apparatus
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7383375B2 (en) * 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
JP3892851B2 (en) * 2004-02-04 2007-03-14 株式会社東芝 Memory card and semiconductor device
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
US7464306B1 (en) 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
US20060136668A1 (en) * 2004-12-17 2006-06-22 Rudelic John C Allocating code objects between faster and slower memories
US9104315B2 (en) * 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US7516252B2 (en) * 2005-06-08 2009-04-07 Intel Corporation Port binding scheme to create virtual host bus adapter in a virtualized multi-operating system platform environment
JP4969811B2 (en) * 2005-07-22 2012-07-04 株式会社東芝 Information processing system and memory control device
US7765350B2 (en) * 2005-09-14 2010-07-27 Koninklijke Philips Electronics N.V. Method and system for bus arbitration
US7509471B2 (en) * 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
JP5214587B2 (en) * 2006-03-31 2013-06-19 モスエイド テクノロジーズ インコーポレイテッド Flash memory system control scheme
US7769942B2 (en) * 2006-07-27 2010-08-03 Rambus, Inc. Cross-threaded memory system
KR100921748B1 (en) * 2007-06-04 2009-10-15 삼성전자주식회사 Memory system using the interleaving scheme and method having the same
US20090113116A1 (en) * 2007-10-30 2009-04-30 Thompson E Earle Digital content kiosk and methods for use therewith
JP2009211192A (en) * 2008-02-29 2009-09-17 Toshiba Corp Memory system
ITMI20082331A1 (en) * 2008-12-29 2010-06-30 Giovanni Lucchetta SOLID STATE DISC, PARTICULARLY FOR THE STORAGE OF DIGITAL DATA.
US8495471B2 (en) * 2009-11-30 2013-07-23 International Business Machines Corporation Solid-state storage system with parallel access of multiple flash/PCM devices
US8533407B2 (en) * 2010-12-01 2013-09-10 International Business Machines Corporation Capacity management in deduplication storage systems
CN102306124A (en) * 2011-08-01 2012-01-04 深圳市文鼎创数据科技有限公司 Method for implementing hardware driver layer of Nand Flash chip
JP5914148B2 (en) * 2012-05-07 2016-05-11 株式会社バッファローメモリ SSD (solid state drive) device
KR102024850B1 (en) * 2012-08-08 2019-11-05 삼성전자주식회사 Memory system including three dimensional nonvolatile memory device and programming method thereof
CN102981965A (en) * 2012-11-07 2013-03-20 江苏乐买到网络科技有限公司 NAND FLASH file system
US9563363B2 (en) * 2013-09-27 2017-02-07 Empire Technology Development Llc Flexible storage block for a solid state drive (SSD)-based file system
JP6467636B2 (en) * 2014-08-28 2019-02-13 パナソニックIpマネジメント株式会社 Memory card
US10114562B2 (en) 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
CN104717557B (en) * 2014-11-25 2018-09-14 四川长虹电器股份有限公司 A method of Flash data is read based on set-top box
CN104615546B (en) * 2015-02-13 2018-04-27 小米科技有限责任公司 file data management method and device
TWI562154B (en) * 2015-02-17 2016-12-11 Silicon Motion Inc Methods for reading data from a storage unit of a flash memory and apparatuses using the same
US9817593B1 (en) 2016-07-11 2017-11-14 Sandisk Technologies Llc Block management in non-volatile memory system with non-blocking control sync system
KR102299880B1 (en) * 2017-04-04 2021-09-09 에스케이하이닉스 주식회사 Data conversion apparatus and method
KR20200122407A (en) * 2018-03-16 2020-10-27 마이크론 테크놀로지, 인크. NAND data placement schema
JP7435470B2 (en) * 2018-12-19 2024-02-21 ソニーグループ株式会社 Information processing device, information processing method, and information processing program

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3753235A (en) * 1971-08-18 1973-08-14 Ibm Monolithic memory module redundancy scheme using prewired substrates
US4051354A (en) * 1975-07-03 1977-09-27 Texas Instruments Incorporated Fault-tolerant cell addressable array
US4648064A (en) * 1976-01-02 1987-03-03 Morley Richard E Parallel process controller
US4162536A (en) * 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
JPS5488242A (en) 1977-12-21 1979-07-13 Kyowa Hakko Kogyo Co Ltd Novel derivative of fortimicin b and its preparation
US4310248A (en) 1980-04-24 1982-01-12 Meredith Nolan J Color control system
US4483001A (en) * 1982-06-16 1984-11-13 International Business Machines Corporation Online realignment of memory faults
JPS6161A (en) 1984-06-08 1986-01-06 Ube Ind Ltd Preparation of 4,4'-azobis(4-cyanovaleric acid)
JPS61245255A (en) 1985-04-23 1986-10-31 Hitachi Ltd Nonvolatile memory device
JPS62217496A (en) 1986-03-18 1987-09-24 Fujitsu Ltd Eeprom writing system
JPS63244393A (en) * 1987-03-30 1988-10-11 Nec Corp Storage device equipped with parallel input/output circuit
JPS63296063A (en) 1987-05-28 1988-12-02 Canon Inc Image forming device
US4961094A (en) 1987-06-03 1990-10-02 Sanyo Electric Co., Ltd. Electrostatic recording apparatus and method for producing color images
US5066979A (en) 1989-01-13 1991-11-19 Canon Kabushiki Kaisha Color image forming apparatus wherein plural colors can be formed through one printing cycle
DE69033262T2 (en) 1989-04-13 2000-02-24 Sandisk Corp EEPROM card with replacement of faulty memory cells and buffer
JP2808664B2 (en) 1989-05-12 1998-10-08 ソニー株式会社 Differential amplifier
EP0407697A1 (en) * 1989-07-10 1991-01-16 Seiko Epson Corporation Memory apparatus
EP0415753B1 (en) 1989-08-31 1993-12-01 Canon Kabushiki Kaisha An image forming apparatus
US5167024A (en) * 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes
JPH087475B2 (en) 1990-01-29 1996-01-29 富士ゼロックス株式会社 Color image forming apparatus and method of using the same
JPH0457295A (en) 1990-06-22 1992-02-25 Nec Corp Electrically writable/erasable memory circuit
JPH0484216A (en) 1990-07-26 1992-03-17 Toshiba Corp Data erasing method for semiconductor disk device
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
JP2979352B2 (en) 1991-05-30 1999-11-15 コニカ株式会社 Image forming method
US5263003A (en) * 1991-11-12 1993-11-16 Allen-Bradley Company, Inc. Flash memory circuit and method of operation
US5365325A (en) 1992-08-10 1994-11-15 Hitachi, Ltd. Method of multi-color recording using electro-photography process and apparatus therefor wherein mixed colors generation is prevented
US5487133A (en) * 1993-07-01 1996-01-23 Intel Corporation Distance calculating neural network classifier chip and system
US5828862A (en) * 1994-05-04 1998-10-27 International Business Machines Corporation Game programming flash memory cartridge system including a programmer and a reprogrammable cartridge
US5613061A (en) * 1994-09-12 1997-03-18 Verilink Corporation Network controller with reconfigurable program logic circuits capable of performing both channel service and testing functions
EP0807894A1 (en) * 1995-01-31 1997-11-19 Hitachi, Ltd. Terminal for distributing electronic information
US5812755A (en) * 1995-09-01 1998-09-22 Adaptec, Incorporated Logical and physical zones for management of defects in a headerless disk drive architecture
US5687114A (en) * 1995-10-06 1997-11-11 Agate Semiconductor, Inc. Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell

Also Published As

Publication number Publication date
JPH06266596A (en) 1994-09-22
US6662264B2 (en) 2003-12-09
US20040078512A1 (en) 2004-04-22
US6272610B1 (en) 2001-08-07
KR940022272A (en) 1994-10-20
US20030018847A1 (en) 2003-01-23
US6952752B2 (en) 2005-10-04
US20010007119A1 (en) 2001-07-05
US6351787B2 (en) 2002-02-26

Similar Documents

Publication Publication Date Title
KR960016397B1 (en) File storaging apparatus and information processing apparatus using the same
JP3737529B2 (en) Method for increasing the data processing capability of a non-volatile semiconductor memory device
US5724540A (en) Memory system having a column address counter and a page address counter
US5375222A (en) Flash memory card with a ready/busy mask register
US5920884A (en) Nonvolatile memory interface protocol which selects a memory device, transmits an address, deselects the device, subsequently reselects the device and accesses data
JP3105092B2 (en) Semiconductor memory device
EP0180237B1 (en) Data processor system having look-ahead control
EP0592098A2 (en) Control method and apparatus for direct execution of a program on an external apparatus using a randomly accessible and rewritable memory
US20040054864A1 (en) Memory controller
JPH01251247A (en) Cash memory subsystem
JPH06309224A (en) Method for data page control and data processing system
WO2003007155A1 (en) Integrated circuit device
JPS6297036A (en) Calculator system
JP2762138B2 (en) Memory control unit
CN101313290B (en) Performing an N-bit write access to an MxN-bit-only peripheral
US20040064599A1 (en) Configurable memory controller for advanced high performance bus system
WO2007090432A1 (en) An electronic device having a memory element and method of operation therefor
US20030221027A1 (en) Electronic card with dynamic memory allocation management
US6938118B1 (en) Controlling access to a primary memory
JP3589699B2 (en) Data processing device and data processing system using the same
JPS5844263B2 (en) memory control circuit
KR100417548B1 (en) Integrated cache memory and how to provide data to memory devices in digital memory
US20060095692A1 (en) Programmable control interface device
JPH07311708A (en) Memory card
EP0020972A1 (en) Program controlled microprocessing apparatus

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111118

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20121121

Year of fee payment: 17

EXPY Expiration of term