# US 2014/0195717 A1 · Write Once Read Many Media Methods

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

- Number: US 2014/0195717 A1
- Document ID: US20140195717A1
- Status: Published application
- Kind: A1
- Application number: 13/834,182
- 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/US20140195717A1

## 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 method 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 method for providing write once ready many times media on a storage drive in communication with an external computing system, said method comprising:
receiving a Write command with a drive controller where the Write command is sent from the external computing system;
determining with the drive controller whether the Write command is for a LBA within the WORM boundary area on a storage drive media as defined by a START_LBA and an END_LBA;
when the LBA to be written is not within the WORM boundary area, then the drive controller performs the Write command on the storage drive media; and
when the LBA to be written is within the WORM boundary area, then the drive controller
determines 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 storage drive 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 method according to claim 1, wherein when the LBA to be written to is greater than the HWM_LBA, the drive controller stores the updated HWM_LBA in at least one of a non-volatile memory and a persistent memory.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising activating the WORM capability by flashing or loading the drive controller with firmware capable of performing said method of claim 1.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising activating the WORM capability upon receiving an activation instruction by the drive controller.

### Claim 5 (depends on 4)

The method according to claim 4, further comprising setting a flag that prevents the drive controller from receiving future firmware updates.

### Claim 6 (depends on 4)

The method according to claim 4, further comprising disabling the storage drive upon removal of a printed circuit logic board present in the storage device.

### Claim 7 (depends on 4)

The method according to claim 4, further comprising for at least one WORM area of the drive storage media, setting the START_LBA, the END_LBA, and the HWM_LBA where the HWM_LBA will be one less than the START_LBA.

### Claim 8 (depends on 1)

The method according to claim 1, wherein when the LBA to be written to is greater than the HWM_LBA, the HWM_LBA is updated after the performance of the Write command.

### Claim 9 (depends on 1)

The method according to claim 1, wherein when the LBA to be written to is greater than the HWM_LBA, the performance of the Write command is performed before the HWM_LBA is increased.

### Claim 10 (depends on 1)

The method according to claim 1, further comprising receiving a command by the drive controller to set the START_LBA to a lower value in order to extend the WORM area boundary.

### Claim 11 (depends on 10)

The method according to claim 10, wherein the START_LBA is set to equal the lowest LBA present on the drive.

### Claim 12 (depends on 1)

The method according to claim 1, further comprising receiving a command by the drive controller to set the END_LBA to a higher value in order to extend the WORM area boundary.

### Claim 13 (depends on 1)

The method according to claim 1, further comprising receiving a command by the drive controller to set the HWM_LBA to a higher value in order to write protect additional LBAs in the WORM area.

### Claim 14 (depends on 1)

The method according to claim 1, further comprising receiving a single command by the drive controller to set the START_LBA to a lower value and at least one of the HWM_LBA and the END_LBA to a higher value in order to at least one of extend the WORM area boundary and write protect additional LBAs in the WORM area.

### Claim 15 (depends on 14)

The method according to claim 14, wherein the START_LBA is set to equal the lowest LBA present on the drive.

### Claim 16 (depends on 14)

The method according to claim 14, wherein at least one of the HWM_LBA and the END_LBA is set to equal the highest LBA that can be written to on the drive.

### Claim 17 (depends on 1)

The method according to claim 1, further comprising receiving a command by at least one of the drive controller and the firmware to disable performance of any command that includes a Write command.

### Claim 18 (depends on 1)

The method according any to claim 1, further comprising receiving a command by at least one of the drive controller and the firmware to lock the storage drive by at least one of setting an indicator or sending a notification to any attached file system that the storage drive is read only.

### Claim 19

A method for providing write once ready many times media on a storage drive in communication with an external computing system, said method comprising:
receiving a Write command with a drive controller where the Write command is sent from the external computing system;
determining with the drive controller whether the Write command is for a LBA within the WORM boundary area on a storage drive media as defined by a START_LBA and an END_LBA;
when the LBA to be written is not within the WORM boundary area, then the drive controller performs the Write command on the storage drive media; and
when the LBA to be written is within the WORM boundary area, then the drive controller
determines 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 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 storage drive media and updates the HWM_LBA to equal the last LBA written to as part of the Write command.

### Claim 20 (depends on 19)

The method according to claim 19, wherein when the LBA to be written to is greater than the HWM_LBA, the drive controller stores the updated HWM_LBA in at least one of a non-volatile memory and a persistent memory.

### Claim 21 (depends on 19)

The method according to claim 19, further comprising activating the WORM capability by flashing or loading the drive controller with firmware capable of performing said method of claim 19.

### Claim 22 (depends on 21)

The method according to claim 21, further comprising setting a flag that prevents the drive controller from receiving future firmware updates.

### Claim 23 (depends on 21)

The method according to claim 21, further comprising disabling the storage drive upon removal of a printed circuit logic board present in the storage device.

### Claim 24 (depends on 21)

The method according to claim 21, further comprising for at least one WORM area of the drive storage media, setting the START_LBA, the END_LBA, and the HWM_LBA where the HWM_LBA will be one less than the START_LBA.

### Claim 25 (depends on 19)

The method according to claim 19, further comprising activating the WORM capability upon receiving an activation instruction by the drive controller.

### Claim 26 (depends on 19)

The method according to claim 19, wherein when the LBA to be written to is greater than the HWM_LBA, the HWM_LBA is updated after the performance of the Write command.

### Claim 27 (depends on 19)

The method according to claim 19, wherein when the LBA to be written to is greater than the HWM_LBA, the performance of the Write command is performed before the HWM_LBA is increased.

### Claim 28 (depends on 19)

The method according to claim 19, further comprising receiving a command by the drive controller to set the START_LBA to a lower value in order to extend the WORM area boundary.

### Claim 29 (depends on 28)

The method according to claim 28, wherein the START_LBA is set to equal the lowest LBA present on the drive.

### Claim 30 (depends on 19)

The method according to claim 19, further comprising receiving a command by the drive controller to set at least one of the HWM_LBA and the END_LBA to a higher value in order to extend the WORM area boundary.

### Claim 31 (depends on 19)

The method according to claim 19, further comprising receiving a single command by the drive controller to set the START_LBA to a lower value and at least one of the HWM_LBA and the END_LBA to a higher value in order to extend the WORM area boundary.

### Claim 32 (depends on 31)

The method according to claim 31, wherein the START_LBA is set to equal the lowest LBA present on the drive.

### Claim 33 (depends on 32)

The method according to claim 32, wherein at least one of the HWM_LBA and the END_LBA is set to equal the highest LBA that can be written to on the drive.

### Claim 34 (depends on 19)

The method according to claim 19, further comprising receiving a command by at least one of the drive controller and the firmware to disable performance of any command that includes a Write instruction.

### Claim 35 (depends on 19)

The method according to claim 19, further comprising receiving a command by at least one of the drive controller and the firmware to lock the storage drive by at least one of setting an indicator or sending a notification to any attached file system that the storage drive is read only.
