KR100993481B1 - How to Control Data Access on a Memory Card Host - Google Patents
How to Control Data Access on a Memory Card Host Download PDFInfo
- Publication number
- KR100993481B1 KR100993481B1 KR1020080096061A KR20080096061A KR100993481B1 KR 100993481 B1 KR100993481 B1 KR 100993481B1 KR 1020080096061 A KR1020080096061 A KR 1020080096061A KR 20080096061 A KR20080096061 A KR 20080096061A KR 100993481 B1 KR100993481 B1 KR 100993481B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory card
- state
- data
- host
- card host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명은 메모리 카드 호스트의 데이터 액세스 제어 기술에 관한 것으로, 특히 메모리 카드 호스트가 메모리 카드로 데이터를 읽기 및 쓰기 시 발생하는 에러에 대처해는 방법으로, 다양한 제조사에서 제작되는 메모리 카드에 대한 데이터 액세스의 호환성을 높이기 위한 액세스 제어 기술에 관한 것이다. 본 발명에 따르면 고속의 데이터 읽기/쓰기가 지원되는 SD 카드에 대해 데이터 전송 속도와 같은 성능 문제를 만족하고 여러 제조사에서 제작되는 다수의 SD 카드의 호환성을 높이는 효과가 있다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data access control technique of a memory card host, and more particularly, to a method for coping with errors occurring when a memory card host reads and writes data to a memory card. The present invention relates to an access control technique for increasing the compatibility. According to the present invention, an SD card that supports high-speed data read / write satisfies a performance problem such as a data transfer rate and improves compatibility of a plurality of SD cards manufactured by various manufacturers.
메모리 카드, SD 카드, 데이터 액세스 Memory card, SD card, data access
Description
본 발명은 메모리 카드 호스트의 데이터 액세스 제어 기술에 관한 것으로, 특히 메모리 카드 호스트가 메모리 카드로 데이터를 읽거나 쓸 때 발생하는 에러에 대처해서 다양한 제조사에서 제작되는 메모리 카드에 대한 데이터 액세스의 호환성을 높이는 액세스 제어 기술에 관한 것이다.BACKGROUND OF THE
고용량 SD 카드(Secure Digital Card)는 규격에서 저장 매체의 크기로 최대 32GB까지 지원 가능하고 데이터 읽기/쓰기 속도로 Class2(2MB/s) 이상을 지원하도록 정의되어 있다. 그러나 규격에서 데이터 읽기/쓰기 속도인 Class2의 속도는 최소한의 속도로 실제로는 좋은 성능을 위해서는 고속을 지원해야만 한다.High-capacity SD card (Secure Digital Card) is defined in the specification to support up to 32GB in size of storage media and Class2 (2MB / s) or more in data read / write speed. However, the speed of Class2, the data read / write speed in the specification, is the minimum speed and, in fact, must support high speed for good performance.
노멀 속도를 지원하는 SD 카드에서는 데이터 읽기/쓰기를 수행할 경우에 CRC 에러가 거의 발생하지 않는다. 그러나 고속을 지원하는 특정 SD 카드에서는 CRC 에러가 발생한다. 이는 SD 카드가 고속을 지원함에 있어 클럭과 데이터 사이에 셋업 타임이나 홀드 타임의 마진이 부족하여 생기는 경우가 대부분이다.In SD cards that support normal speeds, CRC errors rarely occur when reading or writing data. However, CRC errors occur on certain SD cards that support high speeds. This is most likely due to lack of setup time or hold time margins between the clock and data as the SD card supports high speed.
마진 부족은 하드웨어 회로에서 저항 값이나 캐패시터 값의 조정, 아트웍으로 어느 정도 마진 확보가 가능하나 모든 SD 카드에 대해서는 마진 확보가 어려운 점이 있다. 이는 제조사마다 SD 카드에 구현된 내부 저항 값이나 캐패시터 용량이 다르고, SD 카드가 적용된 어플리케이션이 다르기 때문이다.Margin shortage can be achieved by adjusting the resistance value, capacitor value, and artwork in hardware circuits, but it is difficult to secure margin for all SD cards. This is because different manufacturers have different internal resistance values or capacitor capacities and different SD card applications.
고용량 SD 카드가 고속으로 동작할 때 데이터 읽기/쓰기에서 CRC 에러가 발생할 경우 메모리 카드 호스트는 데이터 읽기/쓰기 동작을 여러 번 수행하거나 특정 시간 동안 동일한 에러 발생이 계속되면 데이터 읽기/쓰기 오류를 발생시킨다. 따라서 메모리 카드 호스트는 특정 SD 카드에 대해 데이터 읽기/쓰기를 지원하지 못함으로 인해 사용자가 특정 SD 카드를 사용할 수 없는 문제점이 발생한다.When CRC error occurs in data read / write when high capacity SD card is operating at high speed, memory card host generates data read / write error when data read / write is performed several times or same error continues for a certain time. . Therefore, the memory card host does not support data read / write for a specific SD card, and thus a user may not use a specific SD card.
본 발명의 목적은 메모리 카드 호스트가 메모리 카드에 대해 데이터 읽기/쓰기를 수행하면서 발생하는 에러에 대처해서 다양한 제조사에서 제작되는 메모리 카드에 대한 데이터 액세스의 호환성을 높이는 액세스 제어 기술을 제공하는 것이다.SUMMARY OF THE INVENTION An object of the present invention is to provide an access control technique for improving the compatibility of data access to memory cards manufactured by various manufacturers in response to errors occurring while the memory card host performs data read / write on the memory card.
본 발명에 따른 메모리 카드 호스트의 데이터 액세스 제어 방법은 (a) 메모리 카드 호스트는 메모리 카드의 동작 상태가 데이터 전송 상태로 세팅된 상태에서 데이터 읽기 동작을 시작하는 단계; (b) 데이터 읽기 동작이 실행된 후 에러가 발생하면 메모리 카드의 동작 상태를 스탠바이 상태로 천이시키는 단계; (c) 메모리 카드 호스트가 메모리 카드의 드라이버 스테이지 레지스터에 디지털 파형의 마진 값을 변경 적용하는 단계; 및 (d) 드라이버 스테이지 레지스터에 디지털 파형의 마진 값이 변경 적용된 상태에서 메모리 카드 호스트는 메모리 카드의 동작 상태를 데이터 전송 상태로 천이시켜 데이터 읽기 동작을 수행하는 단계;를 포함하여 구성된다.According to another aspect of the present invention, there is provided a data access control method of a memory card host, the method comprising: (a) initiating a data read operation in a state in which an operation state of a memory card is set to a data transfer state; (b) transitioning the operating state of the memory card to the standby state if an error occurs after the data read operation is performed; (c) the memory card host changing and applying the margin value of the digital waveform to the driver stage register of the memory card; And (d) performing a data read operation by shifting the operation state of the memory card to the data transfer state while the margin value of the digital waveform is applied to the driver stage register.
본 발명에 따른 메모리 카드 호스트의 데이터 액세스 제어 방법은 (e) 데이터 읽기 동작에서 에러가 다시 발생되면 메모리 카드 호스트는 메모리 카드의 동작 상태를 트랜스퍼 상태로 천이시킨 후 트랜스퍼 상태에서 SD 클럭 속도를 변경하는 단계; 및 (f) SD 클럭 속도가 변경된 다음 메모리 카드의 동작 상태가 데이터 전송 상태로 천이된 후 메모리 카드 호스트가 메모리 카드에 대해 데이터 읽기 동작을 시작하는 단계;를 포함하여 구성되는 것을 특징으로 한다.In the data access control method of the memory card host according to the present invention, (e) when an error occurs again in the data read operation, the memory card host changes the SD clock speed in the transfer state after changing the operation state of the memory card to the transfer state. step; And (f) initiating a data read operation with respect to the memory card after the SD clock speed is changed and after the operation state of the memory card is changed to the data transfer state.
본 발명에 따른 (b) 단계는, 메모리 카드 호스트가 CMD7의 명령을 메모리 카드에 내려 메모리 카드의 동작 상태를 스탠바이 상태로 천이시키는 단계를 포함하여 구성되는 것을 특징으로 한다.Step (b) according to the present invention is characterized in that it comprises a step of the memory card host to issue a command of the CMD7 to the memory card to transition the operating state of the memory card to the standby state.
본 발명에 따른 (c) 단계는, 메모리 카드 호스트가 메모리 카드의 드라이버 스테이지 레지스터에 디지털 파형의 마진 값을 변경 적용하기 위해 CMD4의 명령을 사용하는 단계를 포함하여 구성되는 것을 특징으로 한다.Step (c) according to the present invention is characterized in that the memory card host comprises the step of using the command of CMD4 to change the margin value of the digital waveform to the driver stage register of the memory card.
본 발명에 따른 (e) 단계는, 메모리 카드 호스트가 CMD12의 명령을 메모리 카드에 내려 동작 상태를 트랜스퍼 상태로 천이시키고 트랜스퍼 상태에서 CMD6의 명령을 사용하여 SD 클럭 속도를 변경하는 단계를 포함하여 구성되는 것을 특징으로 한다.The step (e) according to the present invention includes the step of the memory card host giving a command of the CMD12 to the memory card to transition the operation state to the transfer state and changing the SD clock speed using the command of CMD6 in the transfer state. It is characterized by.
본 발명에 따른 메모리 카드 호스트의 데이터 액세스 제어 방법은 (a) 메모리 카드 호스트가 메모리 카드에 기록된 데이터에 대해 읽기 동작을 수행할 때 에러가 발생한 경우 메모리 카드 및 메모리 카드 호스트에 디지털 파형의 마진 값을 변경시키는 로직이 구현되어 있는지를 판단하는 단계; (b) 로직이 구현되어 있으면 메모리 카드 호스트는 디지털 파형의 마진 값을 이전 값과는 다르게 적용해서 데이터 읽기 동작을 실행하는 단계; (c) 데이터 읽기 동작에서 에러가 발생한 경우 메모리 카드 호스트는 SD 클럭 속도를 변경하는 단계; 및 (d) 메모리 카드 호스트가 변경된 SD 클럭 속도로 메모리 카드에 대해 데이터 읽기 동작을 수행하는 단계;를 포함하여 구성된다.The data access control method of the memory card host according to the present invention includes (a) a margin value of a digital waveform at the memory card and the memory card host when an error occurs when the memory card host performs a read operation on the data recorded in the memory card. Determining whether logic to change the number is implemented; (b) if the logic is implemented, the memory card host applies a margin value of the digital waveform differently from the previous value to execute a data read operation; (c) the memory card host changing the SD clock speed when an error occurs in a data read operation; And (d) the memory card host performing a data read operation on the memory card at the changed SD clock speed.
본 발명에 따른 (a) 단계는, 메모리 카드에 디지털 파형의 마진 값을 변경시키는 드라이버 스테이지 레지스터가 구현되어 있는지를 판단하는 단계; 및 메모리 카드 호스트에 디지털 파형의 마진 값을 변경시키는 로직이 구현되어 있는지를 판단하는 단계;를 포함하여 구성되는 것을 특징으로 한다.According to the present invention, step (a) comprises: determining whether a driver stage register for changing a margin value of a digital waveform is implemented in a memory card; And determining whether logic for changing the margin value of the digital waveform is implemented in the memory card host.
본 발명에 따른 (c) 단계는, 메모리 카드 호스트가 CMD6의 명령을 사용하여 SD 클럭 속도를 변경하는 단계를 포함하여 구성되는 것을 특징으로 한다.Step (c) according to the present invention is characterized in that the memory card host comprises the step of changing the SD clock speed using the command of CMD6.
본 발명에 따른 메모리 카드 호스트의 데이터 액세스 제어 방법은 (a) 메모리 카드 호스트는 메모리 카드의 동작 상태가 데이터 수신 상태에서 데이터 쓰기 동작을 시작하는 단계; (b) 데이터 쓰기 동작 중 에러가 발생하면 메모리 카드 호스트는 메모리 카드의 동작 상태를 프로그래밍 상태로 천이 후 트랜스퍼 상태로 천이시키는 단계; (c) 메모리 카드 호스트는 메모리 카드의 동작 상태가 트랜스퍼 상태에서 내부에 구현된 디지털 파형의 마진 값을 변경시키는 단계; (d) 메모리 카드 호스트는 메모리 카드의 동작 상태를 트랜스퍼 상태에서 데이터 수신 상태로 천이시킨 후 데이터 쓰기 동작을 시작하는 단계; 및 (e) 데이터 쓰기 동작 중 CRC 에러가 발생하면 메모리 카드 호스트는 메모리 카드의 동작 상태를 다시 트랜스퍼 상태로 천이시킨 다음 트랜스퍼 상태에서 SD 클럭 속도를 변경한 후 다시 데이터 쓰기 동작을 수행하는 단계;를 포함하여 구성된다.A data access control method of a memory card host according to the present invention includes the steps of: (a) initiating a data write operation when the operating state of the memory card is a data receiving state; (b) if an error occurs during a data write operation, the memory card host transitions the operating state of the memory card to the programming state and then to the transfer state; (c) the memory card host changing a margin value of a digital waveform implemented therein when the operating state of the memory card is in the transfer state; (d) the memory card host transitioning the operation state of the memory card from the transfer state to the data reception state and starting a data write operation; And (e) if a CRC error occurs during the data write operation, the memory card host transitions the operation state of the memory card back to the transfer state, changes the SD clock speed in the transfer state, and then performs a data write operation again. It is configured to include.
본 발명에 따른 (b) 단계는, 메모리 카드 호스트가 CMD12의 명령을 사용하여 메모리 카드의 동작 상태를 프로그래밍 상태로 천이 후 트랜스퍼 상태로 천이시키 는 단계를 포함하여 구성되는 것을 특징으로 한다.Step (b) according to the present invention is characterized in that it comprises the step of the memory card host transitions to the transfer state after the transition of the operating state of the memory card to the programming state by using the command of the CMD12.
본 발명에 따른 (d) 단계는, 메모리 카드 호스트가 CMD56의 명령을 사용하여 메모리 카드의 동작 상태를 트랜스퍼 상태에서 데이터 수신 상태로 천이시키는 단계를 포함하여 구성되는 것을 특징으로 한다.Step (d) according to the present invention is characterized in that the memory card host comprises a step of transitioning the operating state of the memory card from the transfer state to the data reception state by using a command of the CMD56.
본 발명에 따른 (e) 단계는, 메모리 카드 호스트가 메모리 카드의 동작 상태를 다시 트랜스퍼 상태로 천이시킨 후 CMD6의 명령을 사용하여 SD 클럭 속도를 변경하는 단계를 포함하여 구성되는 것을 특징으로 한다.Step (e) according to the present invention is characterized in that it comprises a step of changing the SD clock speed using the command of CMD6 after the memory card host transitions the operating state of the memory card back to the transfer state.
본 발명에 따른 메모리 카드 호스트의 데이터 액세스 제어 방법은 (a) 메모리 카드 호스트는 메모리 카드에 대한 데이터 쓰기 동작에서 에러가 발생한 경우 내부에 구현된 디지털 파형의 마진 값을 변경시킨 후 데이터 쓰기 동작을 수행하는 단계; 및 (b) 데이터 쓰기 동작에서 CRC 에러가 발생한 경우 메모리 카드 호스트는 메모리 카드의 동작 상태를 트랜스퍼 상태로 천이시키고 SD 클럭 속도를 변경시킨 후 데이터 쓰기 동작을 실행하는 단계;를 포함하여 구성된다.In the data access control method of the memory card host according to the present invention, (a) the memory card host performs a data write operation after changing a margin value of an internally implemented digital waveform when an error occurs in a data write operation on the memory card. Making; And (b) when the CRC error occurs in the data write operation, the memory card host transitioning the operation state of the memory card to the transfer state, changing the SD clock speed, and executing the data write operation.
본 발명에 따른 (b) 단계는, 메모리 카드 호스트는 메모리 카드의 동작 상태를 트랜스퍼 상태로 천이시킨 후 CMD6의 명령을 사용하여 SD 클럭 속도를 변경시키는 단계를 포함하여 구성되는 것을 특징으로 한다.Step (b) according to the present invention is characterized in that the memory card host comprises the step of changing the SD clock speed using the command of CMD6 after transitioning the operating state of the memory card to the transfer state.
본 발명에 따르면 고속의 데이터 읽기/쓰기가 지원되는 SD 카드에 대해 데이터 전송 속도와 같은 성능 문제를 만족하고 여러 제조사에서 제작되는 다수의 SD 카드의 호환성을 높이는 효과가 있다.According to the present invention, an SD card that supports high-speed data read / write satisfies a performance problem such as a data transfer rate and improves compatibility of a plurality of SD cards manufactured by various manufacturers.
이하, 본 발명의 실시예를 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[도 1]은 본 발명을 설명하기 위한 메모리 카드 호스트와 메모리 카드의 구성을 보인 예시도이다.1 is an exemplary view showing the configuration of a memory card host and a memory card for explaining the present invention.
메모리 카드 호스트(200)에 연결되는 메모리 카드(100)는 고용량 SD 카드이다. 메모리 카드 호스트(200)는 메모리 카드(100)에 대해 명령을 내려 데이터 읽기/쓰기를 수행한다. 메모리 카드 호스트(200)는 데이터 읽기/쓰기를 수행할 때 에러가 발생하면 이에 적절히 대응하여 데이터 읽기/쓰기가 올바로 수행될 수 있도록 해야 한다. 이에 따라 메모리 카드 호스트(200)는 다양한 제조사에서 제작된 메모리 카드(100)에 대해 데이터 읽기/쓰기 작업을 올바로 수행하여 다양한 메모리 카드(100)의 특성에 따른 동작 오류 없이 메모리 카드(100)에 대한 호환성을 높일 수 있다.The
[도 2]는 본 발명에 따른 메모리 카드 호스트가 메모리 카드에 데이터 읽기 명령을 내렸을 때 메모리 카드의 읽기 상태 천이를 보인 예시도이다.2 is an exemplary view illustrating a transition of a read state of a memory card when the memory card host according to the present invention issues a data read command to the memory card.
메모리 카드 호스트는 메모리 카드에 대해 데이터 읽기를 시작하면 메모리 카드는 데이터 전송 상태(10)에 놓인다. 메모리 카드 호스트는 메모리 카드의 데이터 전송 상태(10)에서 데이터 읽기 동작을 시작한다.When the memory card host starts reading data to the memory card, the memory card is placed in the data transfer state 10. The memory card host starts a data read operation in the data transfer state 10 of the memory card.
데이터 읽기 동작에서 에러가 발생하면 메모리 카드 호스트는 CMD7의 명령을 메모리 카드에 내려 메모리 카드의 동작 상태를 데이터 전송 상태(10)에서 스탠바이 상태(20)로 천이시킨다.When an error occurs in the data read operation, the memory card host issues a command of CMD7 to the memory card to transition the operating state of the memory card from the data transfer state 10 to the
메모리 카드 호스트는 CMD4의 명령을 사용하여 메모리 카드의 드라이버 스테이지 레지스터(Driver Stage Register, 이하 DSR 레지스터)에 디지털 파형의 속성 값을 변경 적용한다. DSR 레지스터는 표 1과 같이 16비트로 구성되어 있다. 예를 들어, DSR 레지스터의 초기값은 0x404(20ns, 10ns)로 세팅되어 있으며, 메모리 카드 호스트는 데이터 읽기를 고속 모드로 수행하다가 읽기 에러가 발생하면 DSR 레지스터 값을 0x808(5ns, 2ns)로 세팅한다.The memory card host changes the attribute values of the digital waveforms to the driver stage registers (hereinafter referred to as DSR registers) of the memory card by using the command of CMD4. The DSR register consists of 16 bits as shown in Table 1. For example, the initial value of the DSR register is set to 0x404 (20ns, 10ns), and the memory card host performs data read in high speed mode and sets the DSR register value to 0x808 (5ns, 2ns) when a read error occurs. do.
메모리 카드 호스트는 스탠바이 상태(20)에서 메모리 카드의 DSR 레지스터 값을 변경 적용한 후 메모리 카드의 동작 상태를 트랜스퍼 상태(30)로 천이시킨 후 다시 데이터 전송 상태(10)로 천이시켜 데이터 읽기 동작을 다시 시작한다.After the memory card host changes and applies the DSR register value of the memory card in the
메모리 카드 호스트는 데이터 읽기 동작을 실행한 후 읽기 에러가 다시 발생하면 CMD12의 명령을 메모리 카드에 내려 메모리 카드의 동작 상태를 트랜스퍼 상태(30)로 천이시킨다.When a read error occurs again after executing a data read operation, the memory card host issues a command of the CMD12 to the memory card to transition the operating state of the memory card to the
메모리 카드 호스트는 메모리 카드의 동작 상태가 트랜스퍼 상태(30)에 놓인 후 CMD6의 명령을 사용하여 SD 클럭 속도를 변경한다.The memory card host changes the SD clock speed using the command of CMD6 after the operating state of the memory card is placed in the
메모리 카드 호스트는 메모리 카드의 동작 상태가 데이터 전송 상태(10)에 놓인 후 변경된 SD 클럭 속도로 메모리 카드에 접속하여 데이터 읽기 동작을 시작한다.The memory card host accesses the memory card at the changed SD clock speed after the operating state of the memory card is in the data transfer state 10 and starts a data read operation.
[도 3]은 본 발명에 따른 메모리 카드 호스트가 메모리 카드에서 읽기 에러가 발생했을 때 대처 동작의 흐름을 보인 순서도이다.3 is a flow chart showing a flow of a coping operation when a memory card host according to the present invention encounters a read error in a memory card.
메모리 카드 호스트가 메모리 카드에 대해 데이터 읽기 동작을 시작할 때 읽기 에러가 발생하면 메모리 카드 호스트는 메모리 카드에 DSR 레지스터가 구현되어 있는지를 판단한다(S101). 이러한 동작이 선행되는 이유는 메모리 카드에 구현되는 DSR 레지스터가 규격에서 각 메모리 카드 제조사마다 구현하도록 권장한 선택 항목이기 때문이다.If a read error occurs when the memory card host starts a data read operation with respect to the memory card, the memory card host determines whether the DSR register is implemented in the memory card (S101). This operation is preceded by the DSR register implemented in the memory card because the specification recommends that each memory card manufacturer implement it.
메모리 카드에 DSR 레지스터가 구현되어 있으면 실시예로, 메모리 카드 호스트는 DSR 레지스터에 초기값으로 설정된 0x404(20ns, 10ns)를 0x808(5ns, 2ns)로 변경 적용하여 디지털 파형의 속성 값을 변경한다(S102).If the DSR register is implemented in the memory card, in an embodiment, the memory card host changes the attribute value of the digital waveform by changing 0x404 (20ns, 10ns) set as an initial value to the DSR register to 0x808 (5ns, 2ns). S102).
메모리 카드 호스트는 DSR 레지스터에 값을 변경한 후 메모리 카드에 대해 데이터 읽기 동작을 수행한다(S103). 이때 데이터 읽기 동작에서 다시 에러가 발생하면(S104) 메모리 카드 호스트는 SD 클럭 속도 변경 모드로 진입한다(S107).After changing the value in the DSR register, the memory card host performs a data read operation on the memory card (S103). If an error occurs again in the data read operation (S104), the memory card host enters the SD clock speed change mode (S107).
메모리 카드에 DSR 레지스터가 구현되어 있지 않으면 메모리 카드 호스트는 내부에 DSR 레지스터에 상응하게 디지털 파형의 속성을 변경 적용할 수 있는 라이즈 타임(rise time), 폴 타임(fall time), 드라이빙 커런트(driving current)의 값을 변경할 수 있는 로직이 구현되어 있는지를 판단한다(S105).If the memory card does not have a DSR register, the memory card host may have a rise time, a fall time, and a driving current that can internally change the digital waveform properties corresponding to the DSR register. It is determined whether logic for changing the value of) is implemented (S105).
호스트 내부에 로직이 구현되어 있으면 메모리 카드 호스트는 디지털 파형의 속성 값을 변경한 후(S106) 데이터 읽기 동작을 수행한다(S103). 이때 데이터 읽기 동작에서 다시 에러가 발생하면(S104) 메모리 카드 호스트는 SD 클럭 속도 변경 모드로 진입한다(S107).If logic is implemented inside the host, the memory card host changes the attribute value of the digital waveform (S106) and then performs a data read operation (S103). If an error occurs again in the data read operation (S104), the memory card host enters the SD clock speed change mode (S107).
SD 클럭 속도 변경 모드에서 메모리 카드 호스트는 SD 클럭 속도를 변경하는 타임 넘버를 체크한다(S108). 타임 넘버가 유효하면(S109) 메모리 카드 호스트는 SD 클럭 속도를 변경하고(S110) 변경된 SD 클럭 속도에 기반하여 메모리 카드에 대해 데이터 읽기 동작을 수행한다(S103).In the SD clock speed change mode, the memory card host checks a time number for changing the SD clock speed (S108). If the time number is valid (S109), the memory card host changes the SD clock speed (S110) and performs a data read operation on the memory card based on the changed SD clock speed (S103).
SD 클럭 속도 변경 모드에서 메모리 카드 호스트는 CMD6의 명령을 이용하여 SD 클럭 속도를 변경한다(S107). 데이터를 고속으로 읽을 때 발생하는 CRC 에러는 대부분 타이밍 마진 문제이므로 SD 클럭 속도를 변경하면 대부분의 경우 에러가 발생하지 않는다. 이에 더해 안정성의 확보를 확실히 하기 위해 SD 클럭 속도를 변경시키는 타임 넘버를 프로그램화할 수 있다.In the SD clock speed change mode, the memory card host changes the SD clock speed by using a command of CMD6 (S107). Most CRC errors that occur when reading data at high speed are timing margin issues, so changing the SD clock rate will not cause an error in most cases. In addition, a time number that changes the SD clock speed can be programmed to ensure stability.
예를 들어 SD 클럭 속도가 50MHz에서 데이터 읽기 동작을 실행하다가 에러가 발생하고 메모리 카드에 DSR 레지스터 및 호스트에 디지털 파형의 속성을 변경할 수 있는 로직이 구현되지 않았다면 타임 넘버의 최대값을 2로 프로그램밍화한 상태에서 타임 넘버를 1로 세팅하면 SD 클럭 속도가 50MHz에서 25MHz로 변경한 후, 데이터 읽기 동작이 실행한다. 만약 데이터 읽기 동작이 실패한다면 타임 넘버를 2로 세팅하게 되고 SD 클럭 속도가 25MHz에서 12.5MHz로 읽기 동작을 수행하게 된다.For example, if an error occurs while performing a data read operation at an SD clock rate of 50 MHz, and the memory card does not implement logic to change the properties of the digital waveforms in the DSR register and the host, program the maximum number of time numbers to 2. If the time number is set to 1 in one state, the SD clock speed is changed from 50 MHz to 25 MHz, and then data read operation is executed. If the data read operation fails, the time number is set to 2 and the SD clock rate is read from 25 MHz to 12.5 MHz.
[도 4]는 본 발명에 따른 메모리 카드 호스트가 메모리 카드에 쓰기 명령을 내렸을 때 메모리 카드의 쓰기 상태 천이를 보인 예시도이다.4 is an exemplary view illustrating a transition of a write state of a memory card when the memory card host according to the present invention issues a write command to the memory card.
메모리 카드 호스트는 메모리 카드의 동작 상태가 데이터 수신 상태(40)에서 메모리 카드에 데이터 쓰기 동작을 시작한다.The memory card host starts a data write operation to the memory card when the operating state of the memory card is the
데이터 쓰기 동작시 에러가 발생하면 메모리 카드 호스트는 CMD12의 명령을 내려 메모리 카드의 동작 상태를 프로그래밍 상태(50)로 천이시킨 후 트랜스퍼 상태(60)로 천이시킨다.If an error occurs during the data write operation, the memory card host issues a command of CMD12 to transition the operating state of the memory card to the
메모리 카드 호스트는 메모리 카드의 동작 상태가 트랜스퍼 상태(60)에서 내부에 디지털 파형의 속성을 제어하는 로직이 구현되어 있는 경우 로직에 디지털 파형의 속성을 변경하는 값을 세팅한다.The memory card host sets a value for changing the attributes of the digital waveform in the logic when the operating state of the memory card controls the attributes of the digital waveform therein in the
메모리 카드 호스트는 CMD56의 명령을 사용하여 메모리 카드의 동작 상태가 트랜스퍼 상태(60)에서 데이터 수신 상태(40)로 천이시킨 후 데이터 쓰기 동작을 시작한다.The memory card host starts a data write operation after the operation state of the memory card transitions from the
디지털 파형의 속성값을 변경한 후에도 데이터 쓰기 동작에서 CRC 에러가 발생하면 메모리 카드 호스트는 메모리 카드의 동작 상태를 트랜스퍼 상태(60)로 다시 천이시킨 후 CMD6의 명령을 사용하여 SD 클럭 속도를 변경시킨다. 이후 메모리 카드 호스트는 메모리 카드의 동작 상태를 데이터 수신 상태(40)로 천이시킨 후 변경된 SD 클럭 속도에 기반하여 데이터 쓰기 동작을 다시 시작한다.If a CRC error occurs in the data write operation even after changing the attribute value of the digital waveform, the memory card host transitions the operation state of the memory card back to the
메모리 카드 호스트는 데이터 쓰기 동작에서도 데이터 읽기 동작처럼 SD 클럭 속도를 프로그램화하여 단계적으로 SD 클럭 속도를 변경 적용하여 데이터 쓰기 동작을 에러 없이 수행할 수 있도록 한다.The memory card host may program the SD clock speed in a data write operation like a data read operation to change the SD clock speed step by step so that the data write operation may be performed without error.
[도 5]는 본 발명에 따른 메모리 카드 호스트가 메모리 카드에서 쓰기 에러가 발생했을 때 대처 동작의 흐름을 보인 순서도이다.5 is a flowchart showing a flow of a coping operation when a memory card host generates a write error in the memory card.
메모리 카드 호스트는 메모리 카드에 대해 데이터 쓰기 동작을 실행하는 중에 CRC 에러가 발생할 경우 내부에 라이즈 타임, 폴 타임, 드라이빙 커런트와 같은 디지털 파형의 속성을 변경하는 로직이 구현되어 있는지를 판단한 후(S201) 구현된 경우 고속의 데이터 쓰기에 적합한 디지털 파형의 속성값을 세팅한 후(S202) 데이터 쓰기 동작을 수행한다(S203).When the memory card host performs a data write operation on the memory card, the memory card host determines whether or not logic for changing a property of a digital waveform such as a rise time, a fall time, and a driving current is implemented when a CRC error occurs (S201). If implemented, after setting the attribute value of the digital waveform suitable for high-speed data writing (S202), the data writing operation is performed (S203).
데이터 쓰기 동작에서 CRC 에러가 발생하면(S204) 메모리 카드 호스트는 SD 클럭 속도 변경 모드에 진입해서(S205) CMD6의 명령을 사용하여 SD 클럭 속도를 변경한다. 이때, 안정성의 확보를 확실히 하기 위해 SD 클럭 속도를 변경시키는 타임 넘버를 프로그램화할 수 있다.If a CRC error occurs in the data write operation (S204), the memory card host enters the SD clock speed change mode (S205) and changes the SD clock speed using a command of CMD6. At this time, a time number for changing the SD clock speed can be programmed to ensure stability.
예를 들어 SD 클럭 속도가 50MHz에서 데이터 쓰기 동작을 실행하다가 에러가 발생하고 메모리 카드 호스트는 내부에 디지털 파형의 속성을 변경할 수 있는 로직이 구현되지 않았다면 타임 넘버의 최대값을 2로 프로그램밍화한 상태에서 타임 넘버를 1로 세팅하면 SD 클럭 속도가 50MHz에서 25MHz로 변경한 후, 데이터 쓰기 동작을 실행한다. 만약 CRC 에러가 발생하였다면 한번 더 SD 클럭 속도의 변경을 수행하게 되는데 이때는 SD 클럭 속도가 25MHz에서 12.5MHz로 동작하게 된다.For example, if an error occurs while performing a data write operation at an SD clock rate of 50 MHz, and the memory card host does not implement logic that can change the properties of the digital waveform inside, the maximum number of time numbers is programmed to 2. Set the time number to 1 to change the SD clock speed from 50MHz to 25MHz and then perform a data write operation. If a CRC error occurs, the SD clock speed is changed once more. At this time, the SD clock speed operates from 25MHz to 12.5MHz.
SD 클럭 속도 변경 모드에서 메모리 카드 호스트는 SD 클럭 속도를 변경하는 타임 넘버를 체크한다(S206). 타임 넘버가 유효하면(S207) 메모리 카드 호스트는 SD 클럭 속도를 변경하고(S208) 변경된 SD 클럭 속도에 기반하여 메모리 카드에 대해 데이터 쓰기 동작을 수행한다(S203).In the SD clock speed change mode, the memory card host checks a time number for changing the SD clock speed (S206). If the time number is valid (S207), the memory card host changes the SD clock speed (S208) and performs a data write operation on the memory card based on the changed SD clock speed (S203).
이상에서 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the present invention has been described in more detail with reference to the examples, the present invention is not necessarily limited to these embodiments, and various modifications can be made without departing from the spirit of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.
도 1은 본 발명을 설명하기 위한 메모리 카드 호스트와 메모리 카드의 구성을 보인 예시도,1 is an exemplary view showing a configuration of a memory card host and a memory card for explaining the present invention;
도 2는 본 발명에 따른 메모리 카드 호스트가 메모리 카드에 데이터 읽기 명령을 내렸을 때 메모리 카드의 읽기 상태 천이를 보인 예시도,2 is an exemplary diagram illustrating a transition of a read state of a memory card when the memory card host issues a data read command to the memory card;
도 3은 본 발명에 따른 메모리 카드 호스트가 메모리 카드에서 읽기 에러가 발생했을 때 대처 동작의 흐름을 보인 순서도,3 is a flow chart illustrating a flow of a coping operation when a memory card host generates a read error in a memory card;
도 4는 본 발명에 따른 메모리 카드 호스트가 메모리 카드에 데이터 쓰기 명령을 내렸을 때 메모리 카드의 쓰기 상태 천이를 보인 예시도,4 is an exemplary diagram illustrating a transition state of a write state of a memory card when the memory card host issues a data write command to the memory card;
도 5는 본 발명에 따른 메모리 카드 호스트가 메모리 카드에서 쓰기 에러가 발생했을 때 대처 동작의 흐름을 보인 순서도.5 is a flow chart illustrating a flow of a coping operation when a memory card host generates a write error in a memory card.
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080096061A KR100993481B1 (en) | 2008-09-30 | 2008-09-30 | How to Control Data Access on a Memory Card Host |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080096061A KR100993481B1 (en) | 2008-09-30 | 2008-09-30 | How to Control Data Access on a Memory Card Host |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100036707A KR20100036707A (en) | 2010-04-08 |
KR100993481B1 true KR100993481B1 (en) | 2010-11-10 |
Family
ID=42214177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080096061A Active KR100993481B1 (en) | 2008-09-30 | 2008-09-30 | How to Control Data Access on a Memory Card Host |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100993481B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7177975B2 (en) | 1998-11-04 | 2007-02-13 | Sandisk Corporation | Card system with erase tagging hierarchy and group based write protection |
-
2008
- 2008-09-30 KR KR1020080096061A patent/KR100993481B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7177975B2 (en) | 1998-11-04 | 2007-02-13 | Sandisk Corporation | Card system with erase tagging hierarchy and group based write protection |
US20070136512A1 (en) | 1998-11-04 | 2007-06-14 | Toombs Thomas N | Voltage Negotiation in a Single Host Multiple Cards System |
Non-Patent Citations (1)
Title |
---|
MultiMediaCard(MMC) Electrical Standard, Standard capacity(MMCA, 4.1) JESD84-B41 (2007.06.30) |
Also Published As
Publication number | Publication date |
---|---|
KR20100036707A (en) | 2010-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110176263B (en) | Memory device and operation method thereof that determines operation mode based on external voltage | |
US9021293B2 (en) | Methods for operating a memory interface circuit including calibration for CAS latency compensation in a plurality of byte lanes | |
TWI534801B (en) | Apparatuses and methods for selective row refreshes | |
US10902890B2 (en) | Method, apparatus and system for a per-DRAM addressability mode | |
WO2007019041A1 (en) | Method and apparatus for selecting an operating mode based on a determination of the availability of internal clock signals | |
US8159853B2 (en) | Memory module cutting off DM pad leakage current | |
US20110126081A1 (en) | Request-command encoding for reduced-data-rate testing | |
CN112863560B (en) | Memory device, method of controlling the same, and host device | |
CN117076351A (en) | Memory access method and device based on ONFI PHY interface specification | |
KR100993481B1 (en) | How to Control Data Access on a Memory Card Host | |
CN101620880A (en) | Memory controller, PCB, computer system and memory adjusting method | |
US9003100B2 (en) | Reference frequency setting method, memory controller, and flash memory storage apparatus | |
US20240248511A1 (en) | Clock driver, operating method thereof, memory device including clock driver, and memory system | |
WO2008025238A1 (en) | Storage device with large capacity and method based on flash memory | |
US8793419B1 (en) | Interface between multiple controllers | |
CN104123967A (en) | Semiconductor device | |
US11176976B2 (en) | Systems for performing a read-modify-write operation | |
CN101149959B (en) | Device and related method for controlling internal switch module of memory | |
CN101625662B (en) | Downgrade memory apparatus, and method for accessing a downgrade memory | |
TWI375225B (en) | Memory and reading method thereof | |
JP2007249753A (en) | Information processor | |
CN112789677A (en) | Apparatus and method for an input receiver circuit and receiver mask for said input receiver circuit | |
US12189964B2 (en) | Data storage system and parameter margin evaluation method | |
TWI872398B (en) | Circuit and method for reading ecc from memory | |
CN104035480B (en) | Reference frequency setting method, memory controller and memory storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20080930 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20100528 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20101103 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20101104 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20101104 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20131007 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20131007 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141112 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20141112 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151006 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20151006 Start annual number: 6 End annual number: 6 |
|
FPAY | Annual fee payment |
Payment date: 20161026 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20161026 Start annual number: 7 End annual number: 7 |
|
FPAY | Annual fee payment |
Payment date: 20171024 Year of fee payment: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20171024 Start annual number: 8 End annual number: 8 |
|
FPAY | Annual fee payment |
Payment date: 20181008 Year of fee payment: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20181008 Start annual number: 9 End annual number: 9 |
|
FPAY | Annual fee payment |
Payment date: 20191014 Year of fee payment: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20191014 Start annual number: 10 End annual number: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20201012 Start annual number: 11 End annual number: 11 |
|
PR1001 | Payment of annual fee |
Payment date: 20211015 Start annual number: 12 End annual number: 12 |
|
PR1001 | Payment of annual fee |
Payment date: 20221018 Start annual number: 13 End annual number: 13 |
|
PR1001 | Payment of annual fee |
Payment date: 20231017 Start annual number: 14 End annual number: 14 |