# US 2014/0195747 A1 · Write Once Read Many Media Systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0195747 A1
- Document ID: US20140195747A1
- Status: Published application
- Kind: A1
- Application number: 13/835,477
- Filed: 2013-03-15
- Published: 2014-07-10
- Earliest claimed: 2013-01-08
- Assignees: GreenTec-USA, Inc.
- Applicants: Greentec-USA, Inc.
- Inventors: Stephen E. Petruzzo; Richard E. Detore
- Web page: https://patentgrep.com/patent/US20140195747A1

## CPC

- G06F 16/181: {providing write once read many [WORM] semantics}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0623: {in relation to content}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0674: {Disk device}
- G06F 3/068: {Hybrid storage device}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 12/0238: {Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory}
- G06F 12/0646: {Configuration or reconfiguration}
- G06F 2212/2024: Rewritable memory not requiring erasing, e.g. resistive or ferroelectric RAM
- G06F 2212/2142: using write-once memory, e.g. OTPROM
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system for providing for write once read many (WORM) times from at least some addresses of a storage drive that is otherwise manufactured for multiple writes to individual addresses. In at least one embodiment, a WORM area(s) is defined by a START_LBA and an END_LBA and the method uses a HWM_LBA to determine whether a LBA in the WORM area has been written to previously and to prevent previously written to LBA(s) in the WORM area from being rewritten. In at least one embodiment where there are multiple WORM areas, each WORM area has its own respective START_LBA, END_LBA and HWM_LBA.

## Claims

### Claim 1

A storage device comprising:
a physical storage media; and
a drive controller in electrical communication with said physical storage media, said drive controller having encoded thereon:
first program instructions executable by said drive controller to cause said drive controller to receive a Write command with a drive controller where the write command is sent from the external computing system;
second program instructions executable by said drive controller to cause said drive controller to determine with the drive controller whether the Write command is for a LBA within a WORM boundary area on the physical storage media as defined by a START_LBA and an END_LBA;
third program instructions executable by said drive controller to cause said drive controller to perform the Write command on the physical storage media when the LBA to be written to is not within the WORM boundary area; and
fourth program instructions executable by said drive controller to cause said drive controller to perform the following when the LBA to be written is within the WORM boundary area
determine whether the LBA to be written to is greater than a HWM_LBA,
when the LBA to be written to is not greater than the HWM_LBA, the drive controller sends an error condition to the external computing device and the drive controller does not perform the Write command, and
when the LBA to be written to is greater than the HWM_LBA, the drive controller performs the Write command on the physical storage media and updates the HWM_LBA to equal the last LBA written to as part of the Write command.

### Claim 2 (depends on 1)

The storage device according to claim 1, further comprising a fifth program instructions executable by said drive controller to cause said drive controller to prevent any LBA present on said physical storage medium from being written to based on a received command.

### Claim 3 (depends on 2)

The storage device according to claim 2, further comprising a non-volatile storage in communication with said drive controller, said non-volatile storage stores at least one of the HWM_LBA, the START_LBA, and the END_LBA.

### Claim 4 (depends on 2)

The storage device according to claim 2, further comprising a persistent memory in communication with said drive controller, said persistent memory stores at least one of the HWM_LBA, the START_LBA, and the END_LBA.

### Claim 5 (depends on 2)

The storage device according to claim 2, wherein said program instructions are present in a firmware residing on said drive controller.

### Claim 6 (depends on 1)

The storage device according to claim 1, further comprising a fifth program instructions executable by said drive controller to cause said drive controller to prevent at least one LBA present outside of the current WORM boundary area on said physical storage medium based on a received command.

### Claim 7 (depends on 6)

The storage device according to claim 6, further comprising a non-volatile storage in communication with said drive controller, said non-volatile storage stores at least one of the HWM_LBA, the START_LBA, and the END_LBA.

### Claim 8 (depends on 6)

The storage device according to claim 6, further comprising a persistent memory in communication with said drive controller, said persistent memory stores at least one of the HWM_LBA, the START_LBA, and the END_LBA.

### Claim 9 (depends on 6)

The storage device according to claim 6, wherein said program instructions are present in a firmware residing on said drive controller.

### Claim 10 (depends on 1)

The storage device according to claim 1, further comprising a non-volatile storage in communication with said drive controller, said non-volatile storage stores at least one of the HWM_LBA, the START_LBA, and the END_LBA.

### Claim 11 (depends on 1)

The storage device according to claim 1, further comprising a persistent memory in communication with said drive controller, said persistent memory stores at least one of the HWM_LBA, the START_LBA, and the END_LBA.

### Claim 12 (depends on 1)

The storage device according to claim 1, wherein said program instructions are present in a firmware residing on said drive controller.

### Claim 13 (depends on 1)

The storage device according to claim 1, wherein the physical storage media has multiple WORM areas each with its own HWM_LBA, START_LBA, and END_LBA.

### Claim 14

A storage device comprising:
a physical storage media having at least one WORM area with a START_LBA and an END_LBA;
a drive controller in electrical communication with said physical storage media, said drive controller allows for no more than one Write command to be performed on each LBA between the START_LBA and the END_LBA.

### Claim 15 (depends on 14)

The storage device according to claim 14, wherein said drive controller uses a HWM_LBA to keep track of LBAs written to between the START_LBA and the END_LBA.

### Claim 16 (depends on 15)

The storage device according to claim 15, further comprising a non-volatile storage in communication with said drive controller, said non-volatile storage stores at least one of the HWM_LBA, the START_LBA, and the END_LBA.

### Claim 17 (depends on 15)

The storage device according to claim 15, further comprising a persistent memory in communication with said drive controller, said persistent memory stores at least one of the HWM_LBA, the START_LBA, and the END_LBA.

### Claim 18

A storage device comprising:
a receiving means for receiving a Write command from an external source; and
an integrity means for controlling the integrity of a WORM area on the storage drive.

### Claim 19 (depends on 18)

The storage device according to claim 18, further comprising an adjustment means for changing the boundaries of a WORM area.

### Claim 20 (depends on 18)

The storage device according to claim 18, wherein there are multiple WORM areas each with its own HWM_LBA, START_LBA, and END_LBA controlled by said integrity means.
